Java 1.8 で実行されているアプリケーションは、Java 1.4 のいくつかのボックスで実行する必要があります。アプリケーションは多くの定数 (数千個) を使用し、すべて関数列挙型を使用して実装されています。リバース互換性を持たせる最良の方法はどれですか?
編集 :
私はすでにいくつかの答えを見てきましたが、どれも満足のいくものではありません. ここで何を達成しようとしているのかを明確にするために、以下の小さな例を見てください。
public class SomeType
{
public enum TYPE
{
ERROR("allError","4"),
INPUT("allInput","5"),
OFFLINE("allOffline","6"),;
private final String type;
private final String desc;
TYPE(String type, String desc)
{
this.type = type;
this.desc = desc;
}
public String getType(){
return this.type;
}
public String getDesc(){
return this.type;
}
}
}
}
次のようなものによって消費されます
for (SomeType.TYPE type: SomeType.TYPE.values())
{
if(nodeValue.equalsIgnoreCase(type.getType()))
{
value=type.getDesc();
break;
}
}
したがって、これは1.4では互換性がありません。そのため、@Geneが提供するリンクで説明されているように、多くのボイラープレートコードを作成する必要があります。このような非常に多くのクラスが定数の非常に大きなリストを保持しているため、より良いアプローチの必要性を感じています。したがって、問題はより良い解決策を探すことです。