java中Varargs用法
1.前言
最近開發時要使用AsyncTask類,其中要重寫這麼一個方法:
protected String doInBackground(String... params) {
}
- 1
- 2
這裡的params便是可變引數(有的地方稱為變長引數)。
2.詳解
String[]和String…的本質相同(都是字串陣列)。
以下為使用String…的例子:
public void myMethod( String... foo ) {
System.out.println( foo[0] );
}
myMethod( "a", "b", "c" );
// 或者
myMethod( new String[]{ "a", "b", "c" } );
// 或者不傳遞引數
myMethod( );
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
以下為使用String[]的例子:
public void myMethod( String[] foo ) {
System.out.println( foo[0] );
}
// 這裡會編譯錯誤!!!
myMethod( "a", "b", "c" );
// 只能通過這種方式
myMethod( new String[]{ "a", "b", "c" } );
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
因此,Java中的main函式也可以寫成這樣。
public static void main(String... args) {
}
- 1
- 2
- 3
注意:一個方法中只能有一個可變引數;如果一個方法中有可變引數,那麼它只能是在最後一個出現!
相關文章
- Java中DecimalFormat的用法JavaDecimalORM
- Java 8 中Stream用法Java
- Java中super的用法Java
- JAVA中String format的用法JavaORM
- java中printf中用法詳解Java
- Java中ThreadLocal的用法和原理Javathread
- java中的HashMap用法總結JavaHashMap
- java中Lamdba表示式的用法整理Java
- Java 中 this 和 super 的用法詳解Java
- java高階用法之:JNA中的FunctionJavaFunction
- java高階用法之:JNA中的StructureJavaStruct
- [Java]Stream用法Java
- java中的Static、final、Static final各種用法Java
- Java 8 中 Map 騷操作之 merge() 的用法Java
- Java8中Stream 的一些用法Java
- java高階用法之:JNA中的回撥Java
- Java 中 this 和 super 的用法概述及異同Java
- 好程式設計師Java教程分享Java中this的幾種用法程式設計師Java
- java split用法 案例Java
- java高階用法之:JNA中的Memory和PointerJava
- java高階用法之:在JNA中將本地方法對映到JAVA程式碼中Java
- JAVA CDI @Inject基本用法Java
- Go 中 ...用法Go
- 淺析Java中的雜湊值HashCode的作用及用法Java
- java之HashMap用法講解JavaHashMap
- Java 列舉 switch的用法Java
- JAVA的陣列基本用法Java陣列
- Java IdentityHashMap類的用法 | baeldungJavaIDEHashMap
- java——split的用法(字串拆分)Java字串
- JAVA8新特性用法Java
- golang 中fmt用法Golang
- js中的this用法JS
- MySQL 中 WITH ROLLUP 用法MySql
- MongoDB中regex用法MongoDB
- Java反射和註解基本用法Java反射
- mongodb-java-driver的基本用法MongoDBJava
- Java NIO 檔案通道 FileChannel 用法Java
- oracle中substr() instr() 用法Oracle
- MYSQL中replace into的用法MySql