java șir de clasă, blog despre criptare

Fiecare linie a creat cu noul operator sau de literală (inclus în ghilimele), este obiectul de clasa String. O caracteristică a obiectului de clasa String este faptul că valoarea sa nu poate fi modificată după ce creați un obiect folosind orice metodă de clasă, ca și orice schimbare în linie creează un nou obiect. În acest caz, o trimitere la un obiect String poate fi modificat, astfel încât să trimită către un obiect diferit, și, astfel, la o valoare diferită.

class String suportă mai mulți designeri, de exemplu: String (), String (str String). String (byte asciichar []). String (char [] unicodechar). String (SBUF StringBuffer). String (StringBuilder sbuild) și altele. Acești constructori sunt folosite pentru a crea un obiect de clasa String pe baza valorilor de inițializare unei matrice de tip char. octet și altele. De exemplu, atunci când apelarea constructorului

new String (str.getChars (), "UTF-8").

în care str - line în format Unicode, este posibil să se stabilească alfabetul necesar prin codificare regională ca parametru de constructor în al doilea rând, în acest caz, alfabetul chirilic. Când Java întâlnește un literal ghilimele duble, creează automat un obiect de tipul String. pe care se poate instala un link. Astfel, clasa de obiecte String pot fi create, atribuind o trimitere la valoarea literală de clasă existente, sau de către operator, și designer nou, de exemplu:

String s1 = "sun.com";

String s2 = new String ( "sun.com");

clasa String include următoarele metode de lucru cu rânduri:

Linii de fuziune - String Concat (String s) sau "+";

booleanequals (Objectob) și equalsIgnoreCase (coarde) - comparare șir cu și insensibil, respectiv;

intcompareTo (coarde) și compareToIgnoreCase (coarde) - comparații lexicografice de linii cu și fără insensibil. Metoda efectuează extragerea de caractere și transmise în rândurile metodei de apelare și returnează o valoare întreagă. Metoda returneaza o valoare nulă atunci când equals () returnează o valoare adevărată;

booleancontentEquals (StringBufferob) - compararea liniei
tip StringBuffer și conținutul obiectului;

Stringsubstring (intn, intm) - extragerea unui subșir dintr-un șir de lungime m-n. începând de la poziția n. Numerotarea de caractere din linia de pornire de la zero;

Stringsubstring (intn) - extracția subșirurilor pornind de la poziția n;

intlength () - determinarea lungimii liniei;

staticStringvalueOf (valoare) - transformarea variabilă tip de bază într-o linie;

StringtoUpperCase () / toLowerCase () - conversia toate caracterele liniei apelante superioare / litere mici;

Stringreplace (chars1, chars2) - înlocuire în șirul pentru toate aparițiile primului caracter al doilea caracter;

Stringintern () - intră în șir în „piscina“ de literali și returnează un obiect de referință;

Stringtrim () - șterge toate golurile de la începutul și la sfârșitul liniei;

charcharAt (intposition) - returnarea unui personaj dintr-o poziție specificată (numerotate de la zero);

booleanisEmpty () - returnează true. Dacă lungimea șir este 0;

byte [] getBytes (). getChars (int srcBegin, int srcEnd, char [] dst, int dstBegin) - extragerea de șiruri de caractere într-o matrice de octeți sau simboluri;

String [] divizat (Stringregex). divizat (Stringregex, intlimit) - introduceți șirul de căutare specificat expresie regulată (separator) și împărțirea liniei sursă în conformitate cu rândurile matrice.

În toate cazurile, invoca metode, modificați linia pentru a crea un nou obiect de tip String.

Într-un exemplu scurt în continuare a unui tablou de caractere și un întreg sunt transformate în obiecte de tip String folosind această clasă de metode.

/ * Exemplu # 1: Folosiți metode: DemoString.java * /

publicclass DemoString

publicstaticvoid principale ([] String args)

str = str.toUpperCase (); // str = "JAVA"

String num = String.valueOf (6); // num = "6"

num = str.concat ( "-" + num); // num = "JAVA-6"

char ch = str.charAt (2); // ch = 'V'

i = str.lastIndexOf ( 'A'); // i = 3 (-1 dacă nu)

num = num.replace ( "6", "SE"); // num = "JAVA-SE"

str.substring (0, 4) .toLowerCase (); // java

str = num + "-6" // str = "JAVA-SE-6"

String [] arr = str.split ( "-");

pentru (String ss. arr)

> altceva

Ca rezultat, va fi afișată o serie de linii:

Când utilizați metode ale clasei String. schimbarea liniei, o noua clasa String obiect modificat. Salvați modificările aduse unui obiect String este posibilă numai cu utilizarea operatorului de atribuire, și anume stabilind o referință la acest nou obiect. În exemplul următor, după ce este afișată ultima valoare de atribuire str.

/ * Exemplu # 2 care trece prin linia de referință: RefString.java * /

publicclass RefString

publicstatic void changeStr (String s)

s.concat ( "Microsystems"); // a crea o nouă linie

publicstaticvoid principale ([] String args)

String str = new String ( "Sun");

Ca rezultat, va fi afișată linia:

Deoarece obiectul a fost trecut prin referință, orice schimbare în metoda obiectului trebuie menținută pentru obiectul original, deoarece ambele link-uri sunt egale. Acest lucru nu se întâmplă pentru simplul motiv că metoda de apel concat (siruri de caractere) creează un nou obiect.

Exemplul următor descrie caracteristicile de stocare și identificarea obiectelor pe un exemplu al unei metode de apel equals (). comparând un șir specificat String obiect si metoda hashCode (). care calculează codul hash al obiectului.

/ * Exemplu # 3 și referința compararea obiectelor: EqualStrings.java * /

equalStrings publicclass

publicstaticvoid principale ([] String args)

String s1 = "Java";

String s2 = "Java";

String s3 = new String ( "Java");

System.out .println (s1 + "==" + s2 +

System.out .println (s1 + "==" + s3 +

System.out.println (s1 + "este egal cu" + s2 + ""

System.out.println (s1 + "este egal cu" + s3 + ""

Ca rezultat, de exemplu, este afișat:

Java este egal cu Java. adevărat

Java este egal cu Java. adevărat

În ciuda faptului că aceeași valoare șir obiecte situate în diferite locații de memorie, valorile același cod hash.

Este posibil pentru a economisi memorie și suprascrie link-ul de la un obiect literal prin apelarea metodei intern ().

publicclass DemoIntern

publicstaticvoid principale ([] String args)

String s2 = new String ( "Java");

Mai jos considerată sortare metoda de selecție rând matrice.

publicclass SortArray

publicstaticvoid principale ([] String args)

String a [] =

"Albina", "Anastasya", "ALLA", "AnnA">;

pentru (int j = 0; j

pentru (int j = 0; j

pentru (int i = j + 1; i

dacă (a [i] .compareTo (a [j]) <0)

String temp = a [j];

în timp ce (++ i

.print System.out (a [i] + "");

Apelarea asieta () elimină toate simbolurile de conducere și spațiile rămase în urmă. compareTo () metoda efectuează comparații lexicografice între rânduri de o reguli Unicode.

articole similare