私は現在、と呼ばElementTypeれる内部列挙型で呼び出される列挙型クラスを含むプロジェクト(データベース実装)に取り組んでいますTypeType。内部ElementTypeには、HashMap<TypeType, ArrayList<ElementType>>すべてのElementType'を対応するTypeType値にマッピングしています。
の値TypeTypeは
[TEXT, NUMERIC_EXACT, NUMERIC_APPROX, OTHER]
ElementType(およびそれに対応するTypeType)の値は次のとおりです。
[CHARACTER(TEXT),
CHAR(TEXT),
DECIMAL(NUMBER_EXACT),
DEC(NUMBER_EXACT),
NUMERIC(NUMERIC_EXACT),
INTEGER(NUMERIC_EXACT),
INT(NUMERIC_EXACT),
SMALLINT(NUMERIC_EXACT),
FLAT(NUMERIC_APPROX),
REAL(NUMERIC_EXACT),
DOUBLE_PRECISION(NUMERIC_APPROX),
DOUBLE(NUMERIC_APPROX),
DATE(OTHER),
TIME(OTHER),
VARCHAR(OTHER),
LONG_VARCHAR(OTHER)]
そしてあるstatic {}地域では、私はこのコードを持っています:
for(ElementType eType : values()) {
TypeType t = eType.getTYPE();
if(typeMapping.get(t) != null)
typeMapping.get(t).add(eType);
else
typeMapping.put(t, new ArrayList<ElementType>() {add(eType);});
}
eTypeforループ内のすべての言及は、Eclipse内で赤の下線が引かれています。
最初のものはエラーを出しますeType cannot be resolved。
2番目のものはを与えeType cannot be resolved to a variableます。
そして3番目のもの(の内側ArrayList)はを与えSyntax error on token "eType", VariableDeclaratorId expected after this tokenます。
このgetTYPE()メソッドはプライベートであり、各ElementTypeのTypeTypeを返します。上記typeMappingのHashMapです。
何が原因なのか、どのように修正するのかわかりません。誰かがこれを修正する方法、または私に何ができるのかを知っていますか?