2013-08-12 51 views
0

我知道一個列表的工作。當我使下面的代碼工作正常,但我不能訪問它的值,我知道它的值是什麼,但下面的輸出顯示哪些是錯誤的。net.java.dev.jaxb.array.StringArray如何工作?

List<StringArray> searchresponse = searchContent(data, pasta, chan, Type, arrS, arrk); 
System.out.print(searchresponse); 

此輸出=
[[email protected]]不是 正確。如何顯示正在調用的函數響應的項目​​?

回答

0

System.out.print(/*Object*/ o)相當於System.out.print(/*Object*/ o.toString())

在你的情況osearchresponse

[[email protected]]

這是默認的toString()行爲。

public String More ...toString() { 
    return getClass().getName() + "@" + Integer.toHexString(hashCode()); 
} 

要驗證,試試這個:

String s = searchresponse.toString(); 
System.out.println(s);// prints [email protected] 
+0

我試過,但 [[email protected]] 這是錯誤的輸出。準確的輸出是應顯示的一些項目 – user2674221

0

每當我們嘗試打印對象,編譯器會發現的toString()在Object類的方法,併產生objects.You的字符串表示將不得不覆蓋這個方法來獲取實例變量的實際值。

class A 
    { 
    String name; 
    int id; 
    A(String name, int id) 
     { 
      this.name=name; 
      this.id=id; 
     } 
    public String toString() 
     { 
     return (name+" "+id); 
     } 
    public static void main (String ...a) 

    { 
     List<A> list = new ArrayList<A>(); 
     A o = new A("a",1); 
     A o1= new A ("b",2); 
     list.add(o); 
     list.add(o1); 
     System.out.println(list); 

    } 

} 

輸出

[a 1, b 2] 
+0

無需更改班級,我如何訪問放置在其中的項目? – user2674221