読者です 読者をやめる 読者になる 読者になる

Javaのキーワードが定義されたenum SourceVersion


1.6 から SourceVersion という enum が追加されていて、内部にjavaのキーワードを持っています。
package javax.lang.model.SourceVersion;


あんまり意味はないけど表示してみた・

public static void main(String[] args) throws Exception {
    Class<SourceVersion> clazz
        = (Class<SourceVersion>)Class.forName("javax.lang.model.SourceVersion");
    Field field = clazz.getDeclaredField("keywords");
    field.setAccessible(true);
    for (String keyword : (Set<String>)field.get(null)) {
        System.out.print(keyword + " ");
    }
}

field#get() は static フィールドなので引数は null


こんな感じで出力されます。

for char package long float break byte false import boolean else 
volatile final static synchronized extends int throws transient 
class enum double default native instanceof case this try const 
catch switch goto finally while private short super throw protected 
if do null strictfp abstract return true void interface new 
continue implements assert public