controllerò comunque ho fatto alcune prove su stringhe fatte da me e tutto andava bene, merito del costrutto try catch.
Effettivamente è molto costoso in termini di memoria... ma non è detto che qualcuno nel forum non possa ottimiazzare!!
controllerò comunque ho fatto alcune prove su stringhe fatte da me e tutto andava bene, merito del costrutto try catch.
Effettivamente è molto costoso in termini di memoria... ma non è detto che qualcuno nel forum non possa ottimiazzare!!
Si in effetti il try catch aggira il problema ma ne crea un altro...Originariamente inviato da Lory1990
controllerò comunque ho fatto alcune prove su stringhe fatte da me e tutto andava bene, merito del costrutto try catch.
Effettivamente è molto costoso in termini di memoria... ma non è detto che qualcuno nel forum non possa ottimiazzare!!
Se la stringa da parsare fosse " 4" tu imposti l'elemento dell'array a 0, quindi effettivamente crei un array con valori sbagliati.
Quindi a meno di non peggiorare la situazione memoria facendo un altro replace degli spazi su quelle stringhe, ti consiglierei di usare dei valori di default quando crei quella stringa, quindi invece di memorizzare la riga della matrice come ";;;4", la memorizzi come " ; ; ;4" così non dovrai effettuare nessun replace, si tratta solo di evitare il parseInt se la gli elementi stringa dopo lo split fossero uguali a " ".
eh.. potessi farlo!! sono valori estratti da un file di testo CSV o da un DB. Il db lo controllo, il file CSV no...![]()
Ah ok... allora perchè invece di usare split non lavori ciclando con un indice la stringa e usando substring... eviteresti i replace.Originariamente inviato da Lory1990
eh.. potessi farlo!! sono valori estratti da un file di testo CSV o da un DB. Il db lo controllo, il file CSV no...![]()
Non ho capito nulla, mi spiacelinguaggio troppo complesso. Questa è la prima apertura file che faccio
Per il metodo di lettura da file/db tocca a te studiare il metodo migliore...Originariamente inviato da Lory1990
Non ho capito nulla, mi spiacelinguaggio troppo complesso. Questa è la prima apertura file che faccio
Per quanto riguarda lo splitting, avendo una stringa del genere "4;;3;" potresti ciclare direttamente sui caratteri della String e prendere le substring contenenti i numeri.
codice:String s = "43;;4;"; char[] a = s.toCharArray(); // conteggio separatori nella matrice. parto da 2 perche' non sono contati il primo e l'ultimo elemento int n = 2; for (int i = 0; i < a.length; i++) { if (a[i] == ';') { n++; } } int[] iarr = new int[n]; for (int i = 0; i < a.length; i++) { if (a[i] == ';') { ...
Interessante ciclarli così! bella idea! Grazie! Proverò a cambiare il codice per economizzare la memoria!![]()