- 1. Java World Capulo 6 2Http: // Gustavoal Bine ați venit într-o ediție nouă JavaWorldb Vom primi bun venit Din nou prietenilor noștri de valoare creativă Leo, bineveniți din nou la viața reală!. ER în această tranșă Vom vorbi puțin despre așteptările din industria calculatoarelor. Foarte până la un pas care sunt la un pas sau în cadrul Mbito a antreprenors.l revenirea la certificare, vom începe să intrăm în API Java specializată pentru introducerea și ieșirea de date. Da, până acum puteți citi acest lucru .B Vom învăța să persistăm obiectele noastre cu modelul de serializare care ne propune nativ Java, un profit în principiu să nu depindem de o bază de date, dar care va avea o valoare adăugată atunci când lucrăm la trimiterea de mesaje prin Internet cu aceeași metodă 😉 G Suntem deja în numărătoarea inversă în edițiile JavaWorld, există doar 4 capitole. Profitați de extragerea îndoielilor, fie prin trimiterea de comentarii, fie prin e-mail (datele pot fi obținute în bloguri). PO Producă oportunitatea de a mulțumi sprijinul primit de comunitate și de valul bun pentru a merge mai departe cu acest proiect ..C mulțumiri tuturor.O Jurnalul Personal JavaWorldm
2. 3JAVA Lumea CAPTULE 6 H Clasa T de coardă După cum am menționat în capturile anterioare, clasa de șir nu poate fi modificată. Deci, cum putem asocia diferite șiruri de caractere la aceeași variabilă de tip de șir? Stringul P este un obiect imuabil: / imuabil acel cuvânt. Si ce inseamna asta? Simplu, exact că un obiect de șir nu poate schimba valoarea, dar în nici un moment se menționează că o variabilă de șir nu poate să indice alt obiect. v Vom vedea câteva exemple pentru a înțelege mai bine: o clasă publică TESTSSSTRING_001 {static public VOID principal (șir args) {sau șir S1 = șir nou („salut”); r string s2 = „javaworld”; c sistem.out.println (S1); R sistem.out.println (S2); E S1 = S1 + „-„; la s2 = s2.touppercase (); // trece la MaysCules sistemul de lanț T.out.println (S1); I sistem.out.println (S2); v sistem.out.println (s11cat (s2)); // congena două lanțuri. Este echivalent cu S1 + S2 sau. String S3 = S2; B}} l o Ghola Sjavaworld Phola-JavaWorld Ohola-JavaWorld T. Acum s-ar putea să vă întrebați, dar nu ați spus că un șir a fost imuabil? Da, este, dar reiterează, nimeni nu spune că o variabilă de șir C nu poate face referire la un alt obiect. Sau a se vedea grafic Maparea memoriei: M 3. Java World Capture 6 4H 002 000b 001F0020 002C 002D – 00410042 – 002D – 00410042 – 002DWOWLOWLO JAVAWORLDHOLA-JAVAWORLD HI JAVAWORLD TP: S1 S2System.out.println (S1.concat (S2); / Salut javaworld / g u1 = șir nou („salut”); S1S2S3S S2 = „JavaWorld”; Hello-JavaWorld JavaWorld T S1 = S1 + „-„; A S2 = S2.TOUPPERCASS (); V sau fiecare Cartă dintr-un șir este în format UFT-16. Pozițiile de memorie prezentate mai sus sunt Olola pentru a exemplifica. Comportamentul depozitării este îndreptat de JVM împreună cu sistemul de operare. Când variabilele sunt inițializate, valorile sunt atribuite Bună ziua și JavaWorld, aici este atunci când vom crea primele două obiecte de tip de tip. E atunci, la S1 am concatenați – și salvați rezultatul în aceeași variabilă, ceea ce determină generarea unui obiect nou și RR actualizarea referinței la acest punct sau S2 transformat în Mayscles. Din nou, un alt obiect este generat și stocăm referința în S2. L și în cele din urmă, generăm o ieșire pe ecranul S1 + S2. În acest caz, este generat și un obiect nou, cu excepția faptului că referința nu captează pe nimeni. Odată ce este pe ecran, această variabilă este un candidat care va fi eliberat de gunoi la colector .. După cum s-ar fi putut observa, în nici un caz nu este modificat niciun obiect, dar dacă au schimbat referințele B de S1 și S2. L Pentru Ltimo, când creăm un obiect nou (S3) și atribuim valoarea S2, nu este creat un obiect nou, aceeași poziție de memorie este atribuită. Timpul că generează un lanț nou, este generat un nou obiect de șir. Excepția fără alimente este scuando care atribuie valoarea unei variabile de șir la altul. În acest caz, ambele punct la aceeași poziție PDE memorie.o t. Șir și memorie C Deoarece un lanț este ceva atât de obișnuit și pentru a putea optimiza memoria, JVM își rezervă o zonă specială de memorie sau o serie așa-numită șir (șir de constanți). Când compilatorul găsește un literal de tip șnur, verificat pe bancă dacă există un alt lanț identic. Dacă unul este unul, se referă direct la acest lucru, dar este creat un nou obiect de șir. Clasa de șir conține modificatorul de non-acces. Aceasta înseamnă că nu este posibil să scrieți clasa.Crearea lanțurilor Există o diferență subtilă între crearea unui șir de către un literal și un obiect: 4. 5java lume Captulo 6String S1 = „JavaWorld” H creează o variabilă de referință (S1) și un obiect de șir, care este stocat în constanta șirului bancă și asociate cu S1. T String S2 = String nou („JavaWorld”) T O variabilă de referință este creată (S2). Pe măsură ce folosim noul cuvânt cheie, un obiect de șir este creat în afara băncii Constante P și referință S2. Apoi, JavaWorld literal este introdus în bancă. : MTS de clase de coarde / coarde MS MS Folosit de clase de coarde este numit: / Tipul MTDODESCRIPCIN V Valoarea returnului L Charchart (Index INT) Returneaza caracterul situat in indexul specificat. o StringConcat (Strol Str) adaugă un șir la sfârșitul altui (echivalent cu utilizarea +). R Boolean EqualsNignorecase (șir altor Tring) indică dacă două lanțuri sunt aceleași, fără a lua în considerare maysculele. C INT Lungime () Returnează numărul de caractere pe care lanțul conține. R Stringreplace (caractere charreemplaza fiecare caracteristică cu caracteristica. E caracteristică nouă) către Stringsubstring (int Homeindice, INT ampleIndice) Returnează un șir nou cu caracterele cuprinse din casa de acasă la finisată. I Stringtolowercase () convertește caracterele în Minscula. v Stringtostring () returnează valoarea unui șir (dat fiind că este un șir, acesta este returnat la S sau același). . String Touppercase () convertește caracterele în Mayscula. String Trim () Elimină spațiile goale la începutul și la sfârșitul lanțului. B pentru informația MS poate consulta java lhttp api: //java.sun.com/j2se/1.4.2/docs/api/java/lang/string.html og shay care evidențiază faptul că tipul de șir are o metodă Ltgth (), Iar matricele au un parametru lungime.pot Stringbuffer și StringBuilder. Când vom folosi multe lanțuri, putem folosi clasele java.lang.Stringbuffer sau java.lang.Stringbuilder. Spre deosebire de șirul C, cu care am generat mai multe lanțuri, acestea vor fi stocate în banca constantă a șirului, aceste clase noi nu sunt stocate în acest ultim, dar profită de același spațiu de memorie. M stringbuffer vs. StringBuilder Clasa Stringbuffer a fost încorporată din versiunea Java 5. Are exact același API ca și Singurbuilder, cu excepția cazului în care nu este siguranța firului (multi-telefon cu securitate). Cu alte cuvinte, metodele nu sunt sincronizate. Java recomandă ori de câte ori este posibil, utilizați StringBuilder, deoarece este mult mai rapid decât șocul lui sora. Solo StringBuilder nu este Safe.StringBuffer dacă este fir-sigură.Ambes împărtășesc același API. Când avem nevoie să fie în siguranță, vom folosi Stringbuffer. 5. Java World CAPTULO 6 6 Outilizarea Stringbuffer și Stringbuilder HT String S1 = „JavaWorld”; // Se adaugă un șir la banca S1 + = „Banca. Să mergem cu MS”; // Un șir nou este generat și referința Cel precedent este pierdut TP // este creat un stringbuffer (nu merge la banca constanta sirului) Stringbuffer S1 = Noua Stringbuffer („JavaWorld”);: S1.Append („. Haide de MS”); // Este modificat de același obiect (nu se creează nici un șir nou) / metode importante în clasele cu Stringbuffer și StringBuilder / G Value de returnare Modosork („Dorind să fie”); s s s.append („un scjp!”); (Nu este necesar să prindeți // Vreau să fiu o referință SCJP! T, astfel încât schimbarea să fie făcută). V Stringbuffer / Ștergere (INT HOME, NOELIMINE Subcadena din interiorul Stringbuffer S = New Stringbuffer („Vreau să fiu un Stringbuilderint ENT) al lanțului obiect SCJP!”); S.delete (10, 13); // Vreau de la poziția de a începe SCJP! l capătul poziției. Stringbuffer / Insert (inindex, dacă introduceți un nou șir (S) Stringbuffer S = Stringbuffer NEWB („Vreau SCJP”); Stringbuilderstring s) de la Posicin S.Insert (7, „Be A”); și indicat de indexul din interiorul // vreau să fiu un SCJPR al lanțului obiect. sau cu Stringbuffer / Reverse () Ninoviet lanțul. Stringbuffer S = noul Stringbuffer („PJC”); l Stringbuilder s.revert (); // SCJP pentru a schimba stringerea () nodevuelve un șir cu șurubul S = noul string („SCJP”); . Valoarea obiectului String s1 = s.testring; // SCJP BL Este posibil ca acestea să fie pe examinarea cu metode defectuoase, acestea sunt pur și simplu rezolvate spre stânga spre stânga, iar rezultatul unei metode este obiectul pe care cel de-al doilea.gs utilizează un exemplu de echivalențe: P Stringbuffer S S = Noul Stringbuffer („A SCJP”); sau s.Relverse (). Șterge (4, 7) .Apppend („… unul care?”). Inserare (0, „Vreau să fiu”); t sistem.out.println (e); // Vreau să fiu un PJC … unul care? Stringbuffer S2 = noul Stringbuffer („A SCJP”); C S2.Reverse (); sau s2.delete (4, 7); S2.append („… unul care?”); M s2.Insert (0, „Vreau să fiu”); Sistem.out.println (S2); // Vreau să fiu un PJC … unul care?Stringbuffer și StringBuilder, la fel ca șirul, nu necesită import. 6. 7 Java World Capt