arraylist dönüştürebilirsiniz nasıl ve son karakter. Ardından dizideki tüm nesneleri almak için dizgiyi bölmeniz gerekir. Sonunda String nesnelerini gerçek Score
sınıflarına dönüştürmelisiniz. Bunu aynı ilke ile substring
ve indexOf
yöntemlerini kullanarak yapabilirsiniz. kod açısından
, bu şuna benzer olacaktır: Ben substring
ve indexOf
kullanıldığında
// the String containing all the objects
String data="[Score{id=1, value='3.5'}, Score{id=2, value='4.5'}, Score{id=3, value='2.0'}]";
// Cutting out the brackets []
data = data.substring(1, data.length - 1);
// Splitting the String to smaller pieces
// like "Score{id=1, value='3.5'}", etc
String[] array = data.split(",");
// Creating the ArrayList, where we will save the scores
List<Score> scores = new ArrayList<Score>();
for(int i=0;i<array.length;i++) {
// Creating the Score instance
Score score = new Score();
// Omitting the brackets {}
int start = array[i].indefOx("{") + 1;
int end = array[i].indefOx("}");
// Cutting out the String inside brackets {}
String temp = array[i].substring(start, end);
// We use the same principles again to get those values inside the brackets {}.
String[] tempArray = temp.split(",");
for(int j=0;j<tempArray.length;j++) {
int start = array[i].indefOx("=") + 1;
temp2 = tempArray[j].substring(start);
if(j == 0) {
score.setId(Integer.valueOf(temp2));
} else {
// To cut out the ''
score.setValue(temp2.substring(1, temp2.length));
}
}
// adding score instance to the list
scores.add(score);
}
Sadece, hakli endeksleri kullanılan doğrulamak zorunda kalacağını işaret etmek isterim. Bu Dize "Puan" alt dizesi olmadan olurdu, bu daha kolay dönüştürmek mümkün olurdu, daha sonra Dize bir JSONArray
temsil eder.
Şüphesiz bölünme dizelerinin binlerce örneğinden biri size cevap verecektir. – redFIVE
'arraylist türüne çevirmek' anlamına gelir? Gerçekten üzgünüm ama sorumunu alamadım. Bana beklenen çıktı ne olacağını söyler misiniz? – Bikku
Listelenmesi gereken nesnelerin bir dizi listesine dönüştürmem gerekiyor. Liste lists = –