Java >> Java tutorial >  >> Tag >> String

Sådan sammenligner du Strings i Java og mere om Strings

Ja, jeg vil tale om et af yndlingsemnerne eller måske det mest omstridte emne for strenge i programmeringssprog. Dette indlæg vil dække, hvordan man bruger strenge i Java.

Spørgsmål

Et af begynderspørgsmålene i Java er, hvordan man sammenligner strenge i java?

Løsning

Det korte svar er .equals  sammenligne værdierne af to strenge og se, om de er ens eller ej. Operatør == sammenligne de to strengobjekter og se, om de refererer til den samme hukommelsesadresse.

Eksempel:

String str1 = new String("test");

String str2 = new String("test");

str1.equals(str2) - This will return true.

str1 == str2 - This will return false.

Kommentar

På trods af at Java understøtter operator ==for strenge, bruges den ikke ofte til strengsammenligning. Objektreferencetjek sker sjældent. En anden anomali ved dette er, hvis to strenge er nul.

Eksempel:

String str1 = null;

String str2 = null;

str1 == str2 - this will return true.

str1.equals(str2) - this will throw null pointer exception (NPE).

Java tilbyder en anden metode kaldet compareTo  til String-sammenligning. Dette kan bruges på følgende måde

Eksempel:

String str1 = "test";

String str2 = "test";

str1.compareTo(str2) == 0 - This will return true.

Mere om Strings

Vi har alle set StringBuffer , StringBuilder , StringWriter , StringTokenizer eller bare almindelig String . Hvad er alle disse forskellige aspekter af String, og hvornår skal de bruges? Er dette ikke for meget at vide, når du bare vil bruge et simpelt String-objekt. Dette indlæg vil dække nogle oplysninger om alle disse forskellige klasser, som Java tilbyder.

StringBuffer

StringBuffers er trådsikre, de er bare en synkroniseret version af StringBuilder . StringBuffer tilbyder nogle nyttige metoder som f.eks. tilføje og vende.

Eksempel:

StringBuffer sb = new StringBuffer();

sb.append("first string");

sb.toString();

StringBuilder

StringBuilder er ikke trådsikker, men de tilbyder bedre ydeevne end StringBuffer . Du kan sige StringBuffer er trådsikker version af StringBuilder .

StringTokenizer

StringTokenizer er helt anderledes end StringBuffer og StringBuilder da det hovedsageligt bruges til at opdele strenge i token ved en afgrænser. StringBuffer og StringBuilder bruges til at bygge strenge.

StringWriter

StringWriter er en tegnstrøm, der samler outputtet i en strengbuffer. Kort sagt kan du sige, at den bruger StringBuffer nedenunder. Dette er en IO-stream, der ligner File IO, men du kan stadig få adgang til StringWriter, selv efter at streamen er blevet lukket.

Eksempel:

StringWriter sw = new StringWriter();

sw.write("this is first string");

sw.toString();

Konklusion

I denne artikel viste vi strengsammenligning og forskellige former for strengbygning. Hvis du kunne lide dette indlæg, så abonner på min blog. Hvis du vil læse mere om Strings, kan du læse her.


No
Java tag