オプション1:
public class WidgetStatics {
public static final String FIZZ = "fizz";
public static final String BUZZ = "buzz";
}
その後:
import com.me.myorg.myapp.WidgetStatics
public class Thing1 {
public void doSomething() {
String x = getValueFromUser();
if(x.equals(WidgetStatics.FIZZ))
// ...
}
}
オプション #2:
public interface WidgetStatics {
public static final String FIZZ = "fizz";
public static final String BUZZ = "buzz";
// ...
}
その後:
public class Thing2 implements WidgetStatics {
public void doSomething() {
String x = getValueFromUser();
if(x.equals(FIZZ))
// ...
}
}
私の質問:
- あるオプションは他のオプションよりもパフォーマンスが高いですか?
ClassLoader
インポートと実装のどちらが負担が大きいですか? - あるアプローチが他のアプローチよりも望ましい/クリーンである特定のユースケースはありますか?