내가 toSplit () 메소드를 사용하여 분할 후 어떻게 문자열로, 사람 객체를 선언?

펙 :

내가 좋아하는 그 자체에 대한 문자열을했다 :

johnName = parts[0]
johnSurname = parts[1]
.
.
.

그러나 나는 백명 대신 3는 어떤이 있다면 ? 그래서 객체에 문자열 배열 값을 넣어 어떻게?

String text = "John.Davidson/05051988/Belgrade Michael.Barton/01011968/Krakov Ivan.Perkinson/23051986/Moscow";
    String[] parts = text.split("[./ ]+" );

    String johnIme = parts[0];
    String johnPrezime = parts[1];
    String johnDatum = parts[2];
    String johnMesto = parts[3];

    String michaelIme = parts[4];
    String michaelPrezime = parts[5];
    String michaelDatum = parts[6];
    String michaelMesto = parts[7];

    String ivanIme = parts[8];
    String ivanPrezime = parts[9];
    String ivanDatum = parts[10];
    String ivanMesto = parts[11];


    Person john = new Person(johnIme, johnPrezime, datumJohn, johnMesto);
    Person michael = new Person(michaelIme,michaelPrezime,datumMichael ,michaelMesto);
    Person ivan = new Person(ivanIme,ivanPrezime,datumIvan ,ivanMesto);

담당자 :
이름 : 존
성 : 데이비슨
날짜 : 1988년 5월 5일
장소 : 베오그라드

담당자 :
이름 : 마이클
성 : 바튼의
날짜 : 1968년 1월 1일
장소 : 크라코프

담당자 :
이름 : 존
성 : Perkinson의
날짜 : 1986년 5월 23일
위치 : 모스크바

TJ 크라우 :

당신은 루프의 배열을 사용하십시오 Person(또는 List<Person>당신이 선호하는 경우)를 :

// ASSERTION: parts.length % 4 == 0
Person[] people = new Person[parts.length / 4];
int peopleIndex = 0;
for (int i = 0; i < parts.length; i += 4) {
    people[peopleIndex++] = new Person(parts[i], parts[i + 1], parts[i + 2], parts[i + 3]);
}

나는 당신도 정말 필요하지 않는 가정 peopleIndex:

// ASSERTION: parts.length % 4 == 0
Person[] people = new Person[parts.length / 4];
for (int i = 0; i < parts.length; i += 4) {
    people[i / 4] = new Person(parts[i], parts[i + 1], parts[i + 2], parts[i + 3]);
}

사용 List<Person>:

// ASSERTION: parts.length % 4 == 0
List<Person> people = new LinkedList<>(); // Or new ArrayList<>(parts.length / 4), or...
for (int i = 0; i < parts.length; i += 4) {
    people.push(new Person(parts[i], parts[i + 1], parts[i + 2], parts[i + 3]));
}

추천

출처http://43.154.161.224:23101/article/api/json?id=206145&siteId=1