Double型またはInteger型、またはその他の型の文字列があります。最初に Double または Integer オブジェクトを作成し、それをオーバーロードされたメソッドに送信する必要があります。これまでのコードは次のとおりです。
public void doStuff1(object obj, String dataType){
if ("Double".equalsIgnoreCase(dataType)) {
doStuff2(Double.valueOf(obj.toString()));
} else if ("Integer".equalsIgnoreCase(dataType)) {
doStuff2(Integer.valueOf(obj.toString()));
}
}
public void doStuff2(double d1){
//do some double related stuff here
}
public void doStuff2(int d1){
//do some int related stuff here
}
このようなもので、if/else なしでこれを行いたいと思います。
Class<?> theClass = Class.forName(dataType);
問題は、「theClass」を double または int にキャストできないことです。どんなアイデアにも感謝します。ありがとう。
関連するスレッドを見つけました。Java でのオーバーロードと複数のディスパッチ