2013-07-18 89 views
0
  • 我能夠在執行下面的代碼時得到結果,但是我想將字符串數組中的成員存儲起來,但我不這樣做。我是新來的Java可以幫助我一些人。
  • 下面的代碼如何在字符串數組中存儲組成員

    System.out.println(" Person Common Name = " + attributes.get("member")+"\t");

    是能夠給我組成員,但我想它存儲在字符串數組。

在此先感謝。

package com.ankit.ldap; 

    import javax.naming.Context; 
    import javax.naming.NamingEnumeration; 
    import javax.naming.directory.*; 
    import java.util.Hashtable; 

    /** 
    * User: gmc 
    * Date: 16/02/11 
    */ 
    public class SimpleQuery { 

     public static void main(String[] args) { 
      String userName = "xxxxxxxxxxxxxxxxx"; 
      Hashtable env = new Hashtable(); 
      env.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory"); 
      env.put(Context.PROVIDER_URL, "xxxxxxxxxxxxxxx"); 
      env.put(Context.SECURITY_AUTHENTICATION, "simple"); 
      env.put(Context.SECURITY_PRINCIPAL, new String(userName)); 
      env.put(Context.SECURITY_CREDENTIALS, "xxxxxx"); 

      DirContext ctx = null; 
      NamingEnumeration results = null; 
      try { 
       ctx = new InitialDirContext(env); 
       SearchControls controls = new SearchControls(); 
       controls.setSearchScope(SearchControls.SUBTREE_SCOPE); 
       results = ctx.search("", "(cn=CompetencyGroup)", controls); 
       while (results.hasMore()) { 
        SearchResult searchResult = (SearchResult) results.next(); 
        Attributes attributes = searchResult.getAttributes(); 
        Attribute attr = attributes.get("cn"); 
        String cn = (String) attr.get(); 
        System.out.println(" Person Common Name = " + attributes.get("member")+"\t"); 
        System.out.println(" Person Display Name = " + attributes.get("displayName")); 

        System.out.println(" Person MemberOf = " + attributes.get("memberOf")); 
       } 
      } catch (Throwable e) { 
       e.printStackTrace(); 
      } finally { 
       if (results != null) { 
        try { 
         results.close(); 
        } catch (Exception e) { 
        } 
       } 
       if (ctx != null) { 
        try { 
         ctx.close(); 
        } catch (Exception e) { 
        } 
       } 
      } 
     } 
    } 
+0

是否要將其存儲在特定的String數組中?你是否聲明瞭這個String數組?你有沒有嘗試過某種東西,並得到一個錯誤信息,或者你是否試圖產生一些你不知道該怎麼做的效果(並且沒有告訴我們)?您沒有提供足夠的信息讓我們知道如何幫助您。 – arcy

+0

我不明白,因爲你可以訪問'屬性',那麼你在將它存儲在'字符串數組'中時面臨的問題在哪裏? – Smit

回答

0

如果你只是想存儲一個字符串數組而不知道要存儲的字符串數使用一個ArrayList。

//create the arraylist 
ArrayList<String> memberNames = new ArrayList<String>(); 
// add the memeber name to the array 
memberNames.add(attributes.get("member")); 
+0

我已經嘗試了以下代碼,但我收到以下錯誤 ArrayList 類型中的方法add(String)不適用於參數(Attribute) – user1241042

+0

對attributes.get(「member」)的調用不得返回一個字符串。可以? – ChadNC

相關問題