java數組object數組-ag真人国际官网
『壹』 java object 對像是數組怎麼轉換
public static void main(string[] args){
//input 的定義是object,實際對象是int數組
object input=new int[]{1,2};
system.out.println(input);
//可以把input[object類型]轉化成int數組
int[] tranfer=(int[])input;
system.out.println(tranfer.length);
}
我猜測樓主可能是在基於某些框架或設計模式編程時碰到這些問題。因為那些模式為了使參數抽象化,往往會把參數定義成object. 對於程序編寫者來說,你自己實現的方法就應該知道自己只能接受實際類型【注意是實際類型】是int數組的。如果別人沒有把int數組當做object傳進來,那麼那是別人的錯誤。當然為了使代碼質量高一點,樓主在編寫方法時候可以先判斷下傳進來的參數是不是int數組。比如input.getclass().isarray()能判斷這個input對象是不是數組
『貳』 java中object... 的用法是什麼意思
居然 整個樓裡面都答非所問了 看我的看我的哦 提問者都說的這么清楚了
這個問題很好
日常使用不定參數時候基本是object...可以等同於object[] obj一維數組理解的
數組本質是連續的指針地址 其中數組的頭指針是必須的 但是二者的不同在於何處呢?
很明顯
obj...是針對方法傳入參數的 即只能在method()內使用
即 不定參數只能作為方法的形參,不能用作變數
然後你看我建立2個test犯法
java的 數組結構在jvm的堆和棧上是不同的 但是我個人沒有理解這問題如果提問者了解歡迎回復我
有關不定參數的使用
public viod method(object[] obj,object...) {
obj操了自己;
}
不過,不定參數有兩個規定:第一,方法的參數列表中最多隻有一個不定長度的參數;第二,就是不定長度的數組的位置必須是最後一個參數。不然不能通過編譯。