【初心者】Java質問・相談スレッド123【歓迎】
at TECH
503:デフォルトの名無しさん
09/02/06 00:09:09
>>496
class HogeComparatorA implements Comparator<MyClassA>{
public int compare(MyClassA o1, MyClassA o2){return o1.tehe(o2);};
}
class HogeComparatorB implements Comparator<MyClassB>{
public int compare(MyClassB o1, MyClassB o2){return o1.hehe(o2);};
}
って書く代わりに
class HogeComparatorT<T> implements Comparator<T>{
public int compare(T o1, T o2){
String method="";
if(o1.getClass().equals("MyClassA")){method="tehe";}
if(o1.getClass().equals("MyClassB")){method="hehe";}
try{
return (Integer)(o1.getClass().getMethod(method,o2.getClass()).invoke(o1,o2));
} catch (Exception e) {e.printStackTrace();return 0;}
};
}
って書いて、
Arrays.sort(a, new HogeComparatorT<MyClassA>());
Arrays.sort(b, new HogeComparatorT<MyClassB>());
って呼び出したいのかな?
次ページ続きを表示1を表示最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
5046日前に更新/227 KB
担当:undef