Checkstyle Javaルール

CheckstyleのJavaルールについて1つずつまとめます

AvoidStaticImport

CheckStyle公式ドキュメント

検証環境

Checkstyleバージョン:10.3.3
Javaバージョン:17


チェック概要

チェック追加バージョン
Checkstyle 5.0

static importが使用されていないことをチェックする。

プロパティ

プロパティ デフォルト値 説明 追加バージョン
excludes String[] {} staticインポートが許可されるクラスを指定 5.0

設定+チェック実行結果

プロパティ設定なし

設定ファイル記述方法

<module name="Checker">
    <module name="TreeWalker">
        <module name="AvoidStaticImport"/>
    </module>
</module>

チェック実行例

// NG staticインポートを使用しない
import static java.lang.Math.pow;
// NG staticインポートを使用しない
import static java.lang.System.*;
// OK
import java.io.File;
// OK
import java.util.*; 

プロパティ設定あり

excludes

staticインポートが許可されるクラスを指定する(コンマ区切り)

設定ファイル記述方法

<module name="Checker">
    <module name="TreeWalker">
        <module name="AvoidStaticImport">
            <property name="excludes" value="java.lang.System.out,java.lang.Math.*"/>
        </module>
    </module>
</module>

チェック実行例

// OK 「excludes」に含まれているのでOK
import static java.lang.Math.*;
// OK 「excludes」に含まれているのでOK
import static java.lang.System.out;
// NG staticインポートを使用しない
import static java.lang.Integer.parseInt;
// OK
import java.io.*;
// OK
import java.util.*;