❶ java 中關於不定長度參數
這是增強型for循環,是用來替代老版本中的迭代器的
其實可變參數列表中,傳遞的參數就是一個數組,這個
增強型for循環就是自動從頭到尾遍歷以此數組,迭代循環
比普通的for循環速度要快
❷ JAVA方法的參數類型是不確定的該如何處理
有兩種方式解決這個問題:
1、使用Object類型,因為所有類型的基類都是Object,所有類型都可以用Object表示,缺點是在使用時需要對類型進行強轉,代碼維護性比較差。
2、使用泛型,這是推薦做法,使用泛型讓我們在方法調用時再指定類型,不需要做類型轉換等操作。
❸ java裡面聲明方法裡面的參數可以不確定數目嗎
可以,這就是java的不定長參數,下面進行簡要介紹:
先看兩個簡單的例子,來感受一下Java的不定長度參數
第一個例子:
public class VariArgs {
public static void main(String[] args) {
test();
test("aaa");
test("aaa", "bbb");
test("aaa", "bbb", "ccc");
}
public static void test(String... args) {
System.out.println(args.getClass());
for (String arg : args) {
System.out.println(arg);
}
}
}
第二個例子:
public class VariArgs {
public static void main(String[] args) {
test("aaa");
test("aaa", "bbb");
test("aaa", "bbb", "ccc");
}
public static void test(String arg, String... args) {
System.out.println(arg);
System.out.println("----------------");
for (String s : args) {
System.out.println(s);
}
}
}
從上面可以看出,如果一個方法的參數定為不定參數的話,這個參數可以根據參數個數動態生成一個數組,然後傳入方法執行。
不過,不定參數有兩個規定:第一,方法的參數列表中最多隻有一個不定長度的參數;第二,就是不定長度的數組的位置必須是最後一個參數。不然不能通過編譯。
對於第一個規定,是因為如果有多於一個不定長度的參數,當真正調用這個方法的時候,JVM、將不知道前面的不定長度參數有多長, 下一個參數是從哪裡開始.
對於第二個參數也是一樣,編譯器不知道不定長度參數的長度,無法確定從哪裡開始下一個參數。
❹ java中如何定義不定參數的方法
如public void test(T t);
或者
public void test(Object obj);
❺ JAVA里有沒有不固定參數個數的構造函數
JDK1.5以上版本增加了不固定參數的定義方法,語法如下:public Test1(String... strs) {
for (int i = 0; i < strs.length; i++) {
System.out.println(strs[i]);
}
}
❻ c# 能像java那樣傳遞不定數量的參數嗎
這個不可以的,因為定義一個方法,其參數個數必須確定。
但是可以這樣解決,你將不確定的參數都封裝在一個類中,給你調用的方法傳一個這個類的實例,這樣使用不確定參數時,就可以了
❼ java反射機制 如何給不定參數invoke
invoke(Object obj,Object... args)
invoke方法本類就要兩個參數的啊 第一個參數是調用方法的對象 第二個參數本來就是個可變參
直接在後面傳就可以了
BTW:可變參數在Java底層實現的時候就是個數組而已 實在不行你可以提供數組類型的參數來匹配可變參數
invoke(obj,new Object{參數1,參數2,參數3});
如果還不明白那麼qq找我吧:)
❽ java可以定義參數類型不確定的函數嗎
java可以定義參數類型不確定的函數。
java 函數定義不定參數方式:
輸入: public void showIconsInTitleBar(View... icons) {
if (icons.length == 0) {
return;
}
for (int i = 0; i < icons.length; i++) {
icons[i].setVisibility(View.VISIBLE);
}
}
調用此方法可以傳入任意多個view。
❾ java中如何接受不定參數
比如下面這個方法
public void getNum(int...nums){
System.out.println(nums)
}
❿ java不定參數傳參問題
ICommand 這個類裡面如何定義 execute方法,就怎麼傳參數
這樣,還是傳 args ,就是了。