본문 바로가기
IT

Java Kate-Konparazioa: Ez Nahastu Berriro! ==, equals(), contentEquals() eta Gehiago 🚀

by LemonDKel 2025. 10. 10.
반응형

Java-n kateen (String) berdintasuna edo ordena aztertzeko modu ezberdinak daude, eta bakoitzak helburu eta jokabide zehatz bat du. Sarritan, garatzaileok == operadorearen, equals() metodoaren eta contentEquals() metodoaren arteko aldeetan nahasten gara. Funtzio hauek eta antzekoak modu argian 정리 dezagun.

1. Kateak Konparatzeko Funtzioen Mota eta Funtzioa

🔸 == (Berdintasun Operadorea)

Operadore honek erreferentzien (Memoria Helbideen) berdintasuna egiaztatzen du, hau da, bi aldagaiek memorian objektu BERA seinalatzen duten. Katearen edukia konparatzeko EZ da erabiltzen.

🔸 equals(Object anObject)

Objektuaren edukiaren (Content) berdintasuna konparatzeko modu estandarra da. String klasean, metodo hau gainidatzi egiten da karaktere-sekuentzia berdinak dituzten konparatzeko. Hala ere, pasatzen den objektua String motakoa izan behar du true itzultzeko aukera izateko. Beste mota batekoa bada (StringBuilder adibidez), berehala false itzuliko du.

🔸 contentEquals(CharSequence cs)

String-aren edukia CharSequence interfazea inplementatzen duen edozein objekturen edukinarekin konparatzen du. Horrek esan nahi du String, StringBuilder eta StringBuffer arteko eduki konparazioetan malgutasunez erabil daitekeela, mota murrizketarik gabe.

🔸 equalsIgnoreCase(String anotherString)

equals() metodoaren antzera, bi String-en edukia konparatzen du, baina maiuskulak eta minuskulak kontuan hartu gabe (case-insensitive). Erabiltzaileen sarrerak konparatzeko erabilgarria da.

🔸 compareTo(String anotherString)

Bi kateak lexikografikoki (hiztegiaren arabera) konparatzen ditu ordena zehazteko. Berdinak badira 0 itzultzen du, eta deitzen duen katea bestea baino lehenago badago zenbaki negatiboa itzultzen du, eta geroago badago positiboa.


2. Java Kate-Konparazio Funtzioen Taula Nagusia

Funtzioa/Operadorea Konparazio Objektuak Konparazio Irizpidea Mota-Egiaztapena Erabilera Nagusia
== Edozein objektu Memoria Helbidea (Erreferentzia) Ez Bi aldagai objektu bera seinalatzen duten egiaztatzeko.
equals() String vs Object Edukia (Maiuskulak kontuan hartuz) Bai (String izan behar du) Bi String objekturen edukia berdina den egiaztatzeko.
contentEquals() String vs CharSequence Edukia (Maiuskulak kontuan hartuz) Ez (Edukia bakarrik konparatzen du) String eta StringBuilder/StringBuffer bezalakoen edukia konparatzeko.
equalsIgnoreCase() String vs String Edukia (Maiuskulak kontuan hartu gabe) Bai (String izan behar du) Maiuskulak/minuskulak baztertuz edukia konparatzeko.
compareTo() String vs String Ordena Lexikografikoa Bai (String izan behar du) Bi katek duten Ordena konparatzeko (berdinak badaude 0 itzultzen du).
Sheets로 내보내기

3. Noiz Erabili Bakoitza?

  • Erreferentziaren berdintasuna behar baduzu: == (salbuespen kasuetan soilik)
  • Bi String-en edukia berdin-berdina den jakiteko: equals()
  • String baten eta StringBuilder edo StringBuffer baten edukia berdina den jakiteko: contentEquals()
  • Maiuskulak/minuskulak ez axola duenean edukia konparatzeko: equalsIgnoreCase()
  • Kateak ordenatu edo haien ordena erlatiboa ezagutu behar denean: compareTo()

Konparazio funtzio hauen arteko desberdintasunak ondo ulertzeak zure Java kodea eraginkorragoa eta akatsik gabekoa izango dela bermatzen lagunduko du. Galderarik baduzu, utzi iruzkinetan!

반응형

댓글