簡體   English   中英

用Java定義一個String數組

[英]Define a String array in Java

在Java中,我們可以將main()方法定義為這兩種方式。

public static void main(String[] args) {          
    System.out.println("Hello World");
}

public static void main(String... args) {          
    System.out.println("Hello World");
}

兩種方法都采用String參數array 現在考慮以下情形。

    String[] arr=new String[10]; // valid
    String... arr=new String[10];// invalid 

Java永遠不允許這樣創建數組String... arr=new String[10]; 但是在上述方法實現中, java允許這樣做。 我的問題是java在兩種情況下如何實現這兩種不同的行為?

... 

是方法參數而不是變量定義的語法。 該符號的名稱是varargs ,它可以自我解釋,即可變數量的參數。

Java中的可變參數或varargs(...)用於編寫更靈活的方法,這些方法可以接受不需要初始化的任意數量的參數。

...是指varargs及其主要目的是使方法更具可讀性

void method(String... args) {

}

可以稱為

method("a"); OR method("a", "b"); OR method("a", "b", "c");

我認為在變量聲明中使用它沒有意義,我們不能做太多事情

String... a = {"a", "b"}

無論如何都可以使用動態大小聲明數組

String[] arr = {"a"};

要么

String[] arr = {"a", "b"};

您可以在main使用varargs,因為用varargs(...)聲明的方法與帶有數組參數的方法的聲明是字節碼兼容的(為了向后兼容)。 這並不意味着類型聲明可以使用相同的語法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM