Naprava in metode za primerjavo nizov v Javi

Ljudje in stroji komunicirajo med seboj s pomočjo posebej oblikovanih nizov znakov. Znaki se zbirajo z besedami, besede - v stavku ali vrstici, iz katerih je besedilo sestavljeno. Ne glede na to, kateri program je ustvarjen, bo nabor znakov vedno prisoten, ne glede na jezik.

Object String v Javi

V Javi je niz poseben predmet in ga označuje angleška beseda String. Pred Java 170_06 je temeljil na nizu vrednosti char, ki so sestavljale posebno vrsto podatkovnih znakov. Objekt je bil 16-bitni znak Unicode s privzeto vrednostjo "u0000". Prav tako je obstajala int off offset spremenljivka, ki je govorila o tem, kateri znak v tem nizu bi se začel. Spremenljivka int count opisuje število znakov, ki jih sprejema niz, začenši z int off. Toda s prihodom Jave 9 se spremenljivke premikajo in štejejo. Še ena novost je bila tako imenovana "konceptna kompaktna vrvica". Poskus, da bi vstopili, je bil storjen že prej, tudi v Javi 6, potem pa je prišlo do težav z izvedbo in zavrnil je to idejo.


Inovacije v Javi 9

Vrednostni niz char v novi različici je postal vrednost bajtov, saj statistika kaže, da bi večino vrstic lahko predstavljali znaki v latinici. In za njih ni potrebno uporabiti 2 bajta, dovolj enega. Zato je bilo odločeno, da vnesemo bajtni niz in kodirnik bajtov, ki shranjuje kodiranje - latin-1 ali utf-16, kjer je v prvem primeru bajt nič, v drugem pa enote. V vrstici za vsak znak je dodeljen 1 bajt, in takoj, ko je znak, ki ne ustreza, potem za njegaPodani sta 2 bajta. Zaradi tega dolžina niza ni vedno enaka dolžini matrike. Sočasno se ujemajo le, če vsebuje kodiranje latin-1. Niz je pol dolžine matrike, če je kodiranje utf-16. Tudi v novi različici je konstantna boolean COMPACT_STRINGS.


Značilnosti razreda String

Razredni niz je nespremenljiv, kar pomeni, da je nespremenljiv. Prav tako je končni, to je, ne more biti podedoval od njega, ne morete narediti nobene linije, ki temelji na tem razredu. Njihovi predmeti po ustvarjanju ni mogoče spremeniti. Pravzaprav vse metode, ki domnevno spremenijo niz, ustvarijo nov predmet. Glavni razlogi za to so varnost in niz String. Z vidika tokov ni potrebe po sinhronizaciji operacij. Lahko premaknete črto med potoki. Zato ne skrbite, da se bo linija spremenila. Možno je tudi shranjevanje šifrirne kode neposredno v objekt. Varnost je sestavljena tudi iz dejstva, da je mogoče vrstice varno prenesti kot parametre za avtorizacijo, nesmiselnost pa zagotavlja, da se med postopkom posredovanja ne bodo prestregli in spremenili. Sklop nizov je določena vrstica predpomnilnika. V pomnilniku, kjer so predmeti shranjeni, je prostor, kjer so ustvarjeni nizi, ustvarjeni z določitvijo v kodi literalov. Na linijo lahko shranite več povezav za hitrejše delo in shranjevanje pomnilnika, če so njihove vrednosti enake. Obstajajo posebni razredi za izvajanje spremenljivk String - StringBuilder in StringBuffer. Oba sta praktično enaka, druga pa varna.

Metode razreda String

Zstrune lahko zaženete z različnimi metodami. Omogočajo vam, da naredite naslednje:
  • primerjajte dolžine vrstic Java;
  • podstran za črpanje ekstrakta;
  • prejme znak po indeksu ali indeksu simbolov;
  • preverite linijo za praznino;
  • ugotoviti dolžino ene vrstice;
  • pretvori niz v polje;
  • spremeniti register;
  • poveže niz;
  • da razreže niz v niz;
  • Najprej izbrišite prazne znake in na koncu;
  • nadomestite podniz.
  • Pred odstranitvijo metode odmika in štetja je odstranitev niza nizov delala nekoliko drugače kot v novi različici. Ustvaril je samo novo lupino za predmet String, medtem ko je matrika ostala stara. Del linije je bilo mogoče zamenjati, vendar je bila povezava s prejšnjo različico. To je pripeljalo do uhajanja pomnilnika. Tej težavi se je mogoče izogniti samo z uporabo dvojnika oblikovalca. V novi različici Jave niz shrani samo podatke, ki jih vsebuje.

    Primerjava dveh linij Java

    Upoštevajte eno od metod natančneje. Posebej se uporablja posebna akcija v jeziku Java - primerjava nizov. Za to sta v razredu String na voljo dve različici metode compareTo (). Metoda compareTo (String anotherString) se uporablja za primerjavo nizov objekta Java String s pridobljenim argumentom String in jih primerja leksično. Vrne int z vrednostjo -1 za "manj", 0 za enakost ali 1 za "več". Ta metoda je uporabna za razvrščanje algoritmov. Podobna metoda za primerjavo nizov v Javi je Equals (). Uporablja logične vrednostienakost, in kadar so objekti enakovredni, vrne true. Če je prva možnost uporabljena za razvrščanje, je druga potrebna za določitev enakosti. Druga možnost za primerjavo nizov Java je metoda compareToIgnoreCase (String str). Podobno je prejšnjemu, vendar ne upošteva velike črke.

    Sorodne publikacije