回顧java集合框架的java api,我在HashSet中找不到toArray()方法,在抽象類Set中有toArray()方法。如何將哈希值轉換爲使用toArray()的數組如果未指定方法toArray?
class Ideone {
public static void main (String[] args) throws java.lang.Exception {
Set x = new HashSet();
x.add(4);
//ArrayList<Integer> y = x.toArray(); this does not work !
int[] y = x.toArray();//this does not work!
System.out.println(x.toArray());//this gives some weird stuff printed : Ljava.lang.Object;@106d69c
}
}
如何將hashset轉換爲數組,如果沒有指定toArray()?
好吧,toArray返回一個'Object []',只是打印出來,如果toString沒有被正確覆蓋,那麼就會給你典型的java輸出。並且'Object []'不能隱式轉換爲'int []'。 – luk2302
@ luk2302正好。這是我在答案中寫的,但是它的評價很低。我不確定問題的答案是什麼。任何人都可以解釋,以便我可以改進 –
@MSach可能是因爲你只解釋打印輸出,而不是爲什麼第一行不行,也不是正確的方式 - 但這當然只是一個猜測 – luk2302