「Java」 @SafeVarargsで可変長引数で警告を表示しない

2022年1月16日

書式
@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]
[東京, 大阪]

Java

Posted by arkgame