Hirdetés
- Samsung Galaxy Z Fold7 - ezt vártuk, de…
- Samsung Galaxy S23 Ultra - non plus ultra
- Hazai akkumulátorrekordra pályázik a OnePlus 15R
- Külföldi prepaid SIM-ek itthon
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- Örömkönnyek és üres kezek a TriFold startjánál
- iPhone topik
- Google Pixel topik
- Xiaomi 15 - kicsi telefon nagy energiával
- Android szakmai topik
Új hozzászólás Aktív témák
-
Lacces
őstag
Nekem sem tiszta, mit akarsz pontosan, de lehet én vagyok lüke hozzá.
Ez lehet az amire gondoltál szerintem:
String result = title + " (" + year +")\n" +
"A " + director + " film.\n\n" +
(role1 + "\t" + actor1 + "\n" +
role2 + "\t" + actor2 + "\n" +
role3 + "\t" + actor3 + "\n" +
role4 + "\t" + actor4 + "\n" +
change).toUpperCase();
System.out.println(result);
role1-től a change-ig minden nagybetűs a többit meg kicsiben hagyja a result Stringben.
A toUpperCase() után oda lehet szúrni a toStrin()-et is de ez nem kötelező, anélkül is nagybetűsre alakítja.Karma hsz-e is hasznos. De szerintem még nem tartasz ott, hogy tud, ő miért javasolta a StringBuildert
Bár az is, igaz, hogy inkább forciklusban használják a StringBuildert.Ennek oka röviden, hogy a String az egy olyan állandó, amelynek értéke futás közben megváltozhatatlan. Ha úgy mond konketenálsz egy String-et akkor új String jön létre.
role1 + "t" -> akkor ez egy új String objektum ami a memóriában van, és nem a régi módoítottad, ami szintén a memóriában van, és marad a program végéig! StringBuilder esetében pedig a régit tudod módosítani, és így csak String objektum van a memóriában. A JVM nem módosítja sosem a Stringeket, hanem újat hozz létre mindig! És ezzel eszi a memóriát. És ez azért is baj, mert a Szemétgyűjtő a Stringeket nem kezeli, nem dobja ki őket.
Bár van egy előnye ennek, az ha mégegyszer egy ugyanolyan String objektum jön létre (ugyanaz az értéke), akkor a JVM nem hozz létre új Strng-et hanem egész egyszerűen már egy meglévőre hivatkozik.
De ha tévedet, jönnek a többiek és nagy örömmel kijavítanak.
-
Karma
félisten
Hogy mit szeretnél? Fontos lépés a programozásban, hogy pontosan tudod mit és miért akarsz csinálni. A zajt kordában kell tartani.
Jelen példa esetén nekem nem jött át a szándék. Kifejthetnéd.
Mindenesetre ha egy nagy stringben akarsz mindent összegyűjteni, akkor nincs más dolgod, mint összefűzöd őket. A rossz megoldás a + operátor, a kicsit jobb a StringBuffer/StringBuildet használata, nekem személy szerint az Apache Commons Lang nevű library StringUtils.join() metódusa tetszik a legjobban - nem vagyok a kerék újrafeltalálásának híve.Persze a gyakorlás az más tészta. De akkor is legyen legalább minimális értelme.
Új hozzászólás Aktív témák
A topicot kiemeltem. Valaki nem akar egy nyitó hsz-t írni?:))
- Samsung Galaxy Z Fold7 - ezt vártuk, de…
- Raspberry Pi
- NVIDIA GeForce RTX 5080 / 5090 (GB203 / 202)
- AliExpress tapasztalatok
- Samsung Galaxy S23 Ultra - non plus ultra
- TCL LCD és LED TV-k
- Napelem
- PlayerUnknown’s Battlegrounds
- Okos Otthon / Smart Home
- Hazai akkumulátorrekordra pályázik a OnePlus 15R
- További aktív témák...
- BESZÁMÍTÁS! ASUS H510M i5 11400F 16GB DDR4 512GB SSD RX 6700 10GB Zalman T4 Plus Chieftec 650W
- Logitech g25
- ZEBRA XPLORE iX125R1 12.5" ÜTÉS ÉS POR ÁLLÓ Windows TABLET ( i5-6200, 8G/256/LTE/GPS ) GARANCIÁVAL
- BESZÁMÍTÁS! ASUS B450 R5 2600X 8GB DDR4 250GB SSD 120GB SSD GTX 1050Ti 4GB Gamdias Argus E1 400W
- BESZÁMÍTÁS! ASUS B650M R7 8700F 32GB DDR5 1TB SSD RTX 4070 Super 12GB NZXT H510 Cougar 700W
- Pixel 7 pro 128/8
- ÁRGARANCIA!Épített KomPhone i5 10400F 16/32/64GB RAM RX 7600 8GB GAMER PC termékbeszámítással
- Kindle Voyage REKLÁMMENTES könyvolvasó eladó (fizikai lapozógombok, keretmentes kijelző!)
- BESZÁMÍTÁS! Asus H370 i7 8700 16GB DDR4 512GB SSD RTX 2060 Super 8GB Zalman S2 TG Cooler Master 650W
- Keresünk iPhone 15/15 Plus/15 Pro/15 Pro Max
Állásajánlatok
Cég: ATW Internet Kft.
Város: Budapest
Cég: BroadBit Hungary Kft.
Város: Budakeszi
Bár az is, igaz, hogy inkább forciklusban használják a StringBuildert.


