次のコードがあります
public class Mamman14 {
public static void main(String[] args) {
// TODO code application logic here
}
public class SortedPair < E extends Comparable < E >> {
E Max_Element;
E Min_Element;
public SortedPair(E FirstElement, E SecondElemnt) throws IllegalPair {
int Compare_Result = FirstElement.compareTo(SecondElemnt);
if (Compare_Result == 0) {
Max_Element = null;
Min_Element = null;
throw new IllegalPair(FirstElement.toString(), SecondElemnt.toString());
} else if (Compare_Result > 0) {
Max_Element = FirstElement;
Min_Element = SecondElemnt;
} else {
Max_Element = SecondElemnt;
Min_Element = FirstElement;
}
}
public E getFirst() {
return Max_Element;
}
public E getSecond() {
return Min_Element;
}
@
Override
public String toString() {
return String.format("%s is bigger then %s.", getFirst(), getSecond());
}
}
public class IllegalPair extends Exception {
public IllegalPair() {
super("Elements must be different!!");
}
public IllegalPair(String Element) {
super("Elements must be different!! \n However they are equal to " + Element);
}
public IllegalPair(String Element1, String Element2) {
super("Elements must be different!! \n However the elements are " + Element1 + "and" +
Element2 + "and they are equal.");
}
}
}
2 つの要素を比較し、それに応じて Max_Element と Min_Element に設定する単純なプログラムです。2 つの質問があります。
私が書いたときpublic class SortedPair <E extends Comparable<E>>
、それはSortedPairがcompareToメソッドを含む同等の要素のみを受け取ることができるということですか?
要素の toString() メソッドを使用して新しいオブジェクトを作成する行throw new IllegalPair(FirstElement.toString(), SecondElemnt.toString())
で、要素に toString() メソッドがないとします。送信されるのは何ですか?
ありがとう。