promotion image of download ymail app
Promoted
Anonymous
Anonymous asked in 電腦與網際網路程式設計 · 1 decade ago

Object[ ]array=new Object[ ]

......

Object[][]array=new Object[10][2];

for(int i=0;i<10;i++){

array[i][0]=num(數字)

array[i][1]=sentence (字串)

}

試問:

for(int i=0;i<10;i++){

若tmp=array[i][0];

1.那tmp要宣告為何種型態? ??????

int 不行,Object [][]tmp=new Object[][];不行

因為Object[][]array=new Object[10][2];

array[][]是Object 但其實array[i][0]是一整數;

2.還請說明一下

2 Answers

Rating
  • 1 decade ago
    Favorite Answer

    如果你的array是宣告成Object[](物件陣列)

    當然在陣列裡的東西都會是物件。

    所以建議你改一下程式碼:

    array[i][0]=new Integer (數字)

    array[i][1]=new String (字串)

    這樣之後,在array[i][0]=整數物件型態

    要拿出來用請這樣:

    int a= (Integer)array[i][0]; //做強迫轉型回原來的Integer就行了,int就不能這樣轉型了!

    字串就比較簡單,因為字串也是物件,直接拿出來就是字串了!轉型都可以不用!

    不過當Object裡的字串要指派給另一個字串,還是要再轉型一次才能指派!

    Object array=new Object();

    array=new String("hello"); //array="hello" <--簡寫

    String s=(String)array; <--指派還是要轉型

    • Commenter avatarLogin to reply the answers
  • 1 decade ago
    • Commenter avatarLogin to reply the answers
Still have questions? Get your answers by asking now.