「Java」 @SafeVarargsで可変長引数で警告を表示しない
書式
@SafeVarargs
static データの型 変数名(List<String)…変数名)
可変長引数でジェネリクスを使用する場合、@SafeVarargsアノテーションでその警告を表示しない
使用例
package com.arkgame.skill.smart;
import java.util.ArrayList;
import java.util.List;
//クラスExampleの定義
class Example {
//@SafeVarargsアノテーションの使用
@SafeVarargs
static void funcA(List<String>... glst){ // 可変長引数でジェネリクスを使用
//for文で可変リスト変数の値を出力
for (List<String> str : glst) {
System.out.println(str);
}
}
}
public class SafeVarDemo {
public static void main(String[] args) {
//String型のリスト 英字
List<String> cftLst = new ArrayList<>();
cftLst.add("study");
cftLst.add("skill");
//Integer型のリスト 日本語の文字
List<String> tLst = new ArrayList<>();
tLst.add("東京");
tLst.add("大阪");
System.out.println("@SafeVarargsアノテーションの実行結果");
//クラス名.staticメソッド名(引数1,引数2)
Example.funcA(cftLst,tLst);
}
}
実行結果
@SafeVarargsアノテーションの実行結果
[study, skill]
[東京, 大阪]