2012-02-22 8 views
-2

배열 목록에 값을 할당하는 중 어려움에 직면하고 있습니다. 내 코드입니다 : 내가 배열 목록에 attrs.get("department") + attrs.get("description")+ attrs.get("name")+attrs.get("mail") 각각의 값을 할당 할arraylist에 결과 추가

while (answer.hasMore()) { 
    SearchResult rslt = (SearchResult)answer.next(); 
    Attributes attrs = rslt.getAttributes(); 
    System.out.println(); 
    if (attrs.get("department") != null && attrs.get("telephonenumber") != null) { 
     System.out.println(attrs.get("department") + " " + attrs.get("name") + " " + 
         attrs.get("Description") + " " + attrs.get("mail") + " " + 
         attrs.get("telephonenumber")+ 
         attrs.get("samaccountname") + attrs.get("samaccountname")); 
} 

.

String[] name = new String[100]; 

을하고 난 이름 속성을 읽으려고 while 루프에서, 나는하려고 노력 :

나는 처음에 정의하려고

name = attrs.get("name"); 

그러나 그것은 작동하지 않았다. 누구든지 도와 줄 수 있어요.

+0

작업을 수행하면 컴파일 오류가 발생 했습니까? 나는'attrs.get()'이'String'을 리턴한다고 의심한다. – hmjd

+0

'attrs.get ("name");'문자열을 반환합니까? String 배열에 String을 할당 할 수 없습니다. 같은 배열에 다른 속성을 지정하는 것이 실제로 의미가 없기 때문에 질문을 편집하여 실제로 수행하려고하는 것을 나타낼 수 있습니다. – Perception

답변

1

문자열을 "참조"문자열로 직접 할당 할 수 없습니다. 먼저 색인을 생성해야합니다. 그러나 실제로 목록을 사용하는 것이 훨씬 낫습니다 (나중에 배열로 변환 할 수도 있습니다). Java 설명서에서 ListArrayList을 확인하십시오. 예를 들어

: 모든

Attributes attrs = new Attributes(); 
    List<String> attribValues = new ArrayList<String>(); 
    System.out.println(); 
    if (attrs.get("department") != null 
      && attrs.get("telephonenumber") != null) { 
     System.out 
       .println(attrs.get("department") + " " + attrs.get("name") 
         + " " + attrs.get("Description") + " " 
         + attrs.get("mail") + " " 
         + attrs.get("telephonenumber") 
         + attrs.get("samaccountname") 
         + attrs.get("samaccountname")); 
     attribValues.add(attrs.get("department")); 
     attribValues.add(attrs.get("telephonenumber")); 
    } 

    final String[] attribArray = attribValues.toArray(new String[attribValues.size()]); 
+0

위의 예에서 도움을 청할 수 있습니까? – user1080320

1

우선하지 같은 문자열의 배열로 문자열로 이름을 정의 : 다음

String name; 

그리고 이름을 읽을 등 :

name = attrs.getString("name"); 

List를 채우는 문제로 돌아와서 기성품의 답을 얻을 수있을 것이라고 확신하지만, Java에서 List를 작성하고 채우는 방법에 대한 읽기.

2

Java에서 배열과 ArrayList는 매우 다릅니다.

String[] name_array = new String[100]; 

은 문자열의 고정 길이 배열을 만들지 만

ArrayList name_list = new ArrayList(); 

객체의 가변 길이 ArrayList를 (당신이 더 많은 개체를 추가로 성장할 것)을 만듭니다.

개체를 ArrayList에 추가하려면 해당 개체의 add() 메서드를 사용할 수 있습니다.

name_list.add("Hello"); 

그러나, 배열을 사용하면 예컨대, 특정 인덱스에있는 객체를 설정해야합니다 당신은 자바 언어와 표준 라이브러리에 대한 기본 튜토리얼을 읽을 필요가

name_array[23] = "Hello"; 

.