簡體   English   中英

String [] args in main

[英]String[] args in main

有人可以說,為什么main方法中的args是String類型。

public static void main(String args[]){
}

我的意思是,為什么它不是int或float或其他東西。 我被問到同樣但找不到合適的答案。

您可以通過控制台運行帶有參數的java程序,如下所示:

java YourClass first second third

在java程序中,您可以通過String args[]使用它。

public static void main(String[] args) {
    Arrays.asList(args).forEach(System.out::println);
}

輸出:

first
second
third

但是沒有必要使用這樣的名字。 聲明main方法簽名的方法很少:

public static void main(String... args)
public static void main(String[] strings)
public static void main(String [] args)

為什么它不是int或float或其他東西? 在命令提示符處,該命令被視為字符串

我會給你我的意見。

  1. 命令行參數是字符串,這就是數據類型的原因。
  2. 您可以從Strings輕松獲得其他數據類型。
  3. Java的大多數語法都是基於C語言的,並且由於C使用了String args,因此創建者可能對java也是如此。 (只是一種可能性)

當我們編寫java filename.java時,這意味着您將文件名提供給要調用其主要方法的java編譯器,很明顯您提供的文件名將是一個字符串。

另一方面,如果你想同時向編譯器提供任何參數,它也將是字符串而不是整數或任何其他數據類型。

因為String可以很容易地轉換為任何類型。 如果它是int並且您想要將double作為輸入,那么這將如何發生? 但是使用String,您可以轉換為您期望的任何內容。

暫無
暫無

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

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