Java-streng (med eksempler)

I denne vejledning lærer vi om Java Strings, hvordan man opretter dem og forskellige metoder til streng ved hjælp af eksempler.

I Java er en streng en sekvens af tegn. For eksempel er "hej" en streng, der indeholder en række af tegn 'h', 'e', ​​'l', 'l' og 'o'.

Vi bruger dobbelt anførselstegn til at repræsentere en streng i Java. For eksempel,

 // create a string String type = "Java programming";

Her har vi oprettet en strengvariabel med navnet type. Variablen initialiseres med strengen Java Programming.

Bemærk : Strenge i Java er ikke primitive typer (ligesom int, charosv). I stedet er alle strenge genstande fra en foruddefineret klasse med navnet String.

Og alle strengvariabler er forekomster af Stringklassen.

Eksempel: Opret en streng i Java

 class Main ( public static void main(String() args) ( // create strings String first = "Java"; String second = "Python"; String third = "JavaScript"; // print strings System.out.println(first); // print Java System.out.println(second); // print Python System.out.println(third); // print JavaScript ) )

I ovenstående eksempel har vi oprettet tre strenge navngivet første, anden og tredje. Her opretter vi direkte strenge som primitive typer.

Der er dog en anden måde at oprette Java-strenge på (ved hjælp af newnøgleordet). Vi lærer om det senere i denne vejledning.

Java-strengoperationer

Java String giver forskellige metoder til at udføre forskellige operationer på strenge. Vi vil se på nogle af de almindeligt anvendte strengoperationer.

1. Få længde på en streng

For at finde længden på en streng bruger vi length()metoden til streng. For eksempel,

 class Main ( public static void main(String() args) ( // create a string String greet = "Hello! World"; System.out.println("String: " + greet); // get the length of greet int length = greet.length(); System.out.println("Length: " + length); ) )

Produktion

String: Hej! Verdens længde: 12

I ovenstående eksempel length()beregner metoden det samlede antal tegn i strengen og returnerer den. Hvis du vil vide mere, skal du besøge Java-strenglængde ().

2. Deltag i to strenge

Vi kan sammenføje to strenge i Java ved hjælp af concat()metoden. For eksempel,

 class Main ( public static void main(String() args) ( // create first string String first = "Java "; System.out.println("First String: " + first); // create second String second = "Programming"; System.out.println("Second String: " + second); // join two strings String joinedString = first.concat(second); System.out.println("Joined String: " + joinedString); ) )

Produktion

 Første streng: Java anden streng: programmering tilsluttet streng: Java programmering

I ovenstående eksempel har vi oprettet to strenge navngivet første og anden. Bemærk erklæringen,

 String joinedString = first.concat(second);

Her concat()sammenføjes metoden første og anden og tildeler den til den joinedString-variabel.

Vi kan også deltage i to strenge ved hjælp af +operatøren i Java. For at lære mere, besøg Java String concat ().

3. Sammenlign to strenge

I Java kan vi sammenligne mellem to strenge ved hjælp af equals()metoden. For eksempel,

 class Main ( public static void main(String() args) ( // create 3 strings String first = "java programming"; String second = "java programming"; String third = "python programming"; // compare first and second strings boolean result1 = first.equals(second); System.out.println("Strings first and second are equal: " + result1); // compare first and third strings boolean result2 = first.equals(third); System.out.println("Strings first and third are equal: " + result2); ) )

Produktion

 Strenge første og anden er lige: sande Strenge første og tredje er lige: falske

I ovenstående eksempel har vi oprettet 3 strenge navngivet første, anden og tredje. Her bruger vi equal()metoden til at kontrollere, om en streng er lig med en anden.

De equals()kontrollerer fremgangsmåden indholdet af strenge mens sammenligne dem. For at lære mere, besøg Java String lig med ().

Bemærk : Vi kan også sammenligne to strenge ved hjælp af ==operatoren i Java. Denne tilgang er imidlertid anderledes end equals()metoden. For at lære mere, besøg Java String == vs equals ().

Metoder til Java String

Udover de ovennævnte er der forskellige strengmetoder til stede i Java. Her er nogle af disse metoder:

Metoder Beskrivelse
understreng () returnerer strengenes understreng
erstatte() erstatter det angivne gamle tegn med det angivne nye tegn
charAt () returnerer tegnet til stede på den angivne placering
getBytes () konverterer strengen til en række bytes
indeks af() returnerer positionen for det angivne tegn i strengen
sammenligne med() sammenligner to strenge i ordbogens rækkefølge
trimme() fjerner alle ledende og bageste hvide rum
format() returnerer en formateret streng
dele() bryder strengen i en række strenge
toLowerCase () konverterer strengen til små bogstaver
toUpperCase () konverterer strengen til store bogstaver
Værdi af() returnerer strengrepræsentationen for det angivne argument
toCharArray () konverterer strengen til en charmatrix

Undslippe karakter i Java Strings

Escape-tegnet bruges til at undslippe nogle af de tegn, der findes i en streng.

Antag, at vi skal medtage dobbelt anførselstegn inde i en streng.

 // include double quote String example = "This is the "String" class";

Since strings are represented by double quotes, the compiler will treat "This is the " as the string. Hence, the above code will cause an error.

To solve this issue, we use the escape character in Java. For example,

 // use the escape character String example = "This is the "String " class.";

Now escape characters tell the compiler to escape double quotes and read the whole text.

Java Strings are Immutable

In Java, strings are immutable. This means, once we create a string, we cannot change that string.

To understand it more deeply, consider an example:

 // create a string String example = "Hello! ";

Here, we have created a string variable named example. The variable holds the string "Hello! ".

Now suppose we want to change the string.

 // add another string "World" // to the previous tring example example = example.concat(" World");

Here, we are using the concat() method to add another string World to the previous string.

It looks like we are able to change the value of the previous string. However, this is not true.

Let's see what has happened here,

  1. JVM takes the first string "Hello! "
  2. creates a new string by adding "World" to the first string
  3. assign the new string "Hello! World" to the example variable
  4. the first string "Hello! " remains unchanged

Creating strings using the new keyword

So far we have created strings like primitive types in Java.

Since strings in Java are objects, we can create strings using the new keyword as well. For example,

 // create a string using the new keyword String name = new String("Java String");

In the above example, we have created a string name using the new keyword.

Here, when we create a string object, the String() constructor is invoked. To learn more about constructor, visit Java Constructor.

Note: The String class provides various other constructors to create strings. To learn more, visit Java String (official Java documentation).

Example: Create Java Strings using the new keyword

 class Main ( public static void main(String() args) ( // create a string using new String name = new String("Java String"); System.out.println(name); // print Java String ) )

Create String using literals vs new keyword

Now that we know how strings are created using string literals and the new keyword, let's see what is the major difference between them.

In Java, the JVM maintains a string pool to store all of its strings inside the memory. The string pool helps in reusing the strings.

While creating strings using string literals, the value of the string is directly provided. Hence, the compiler first checks the string pool to see if the string already exists.

  • Hvis strengen allerede findes , oprettes den nye streng ikke. I stedet peger den nye reference på den eksisterende streng.
  • Hvis strengen ikke findes , oprettes den nye streng.

Men samtidig skabe strenge ved at bruge den nye søgeord , værdien af strengen er ikke direkte givet. Derfor oprettes den nye streng hele tiden.

Interessante artikler...