10

したがって、メソッドの説明の1つは次のようになります。

public BasicLinkedList addToFront(T data) この操作はソートされたリストには無効です。UnsupportedOperationException は、「並べ替えられたリストに対して無効な操作です」というメッセージを使用して生成されます。

私のコードは次のようになります。

public BasicLinkedList<T> addToFront(T data) {
    try {
        throw new UnsupportedOperationException("Invalid operation for sorted list.");
    } catch (java.lang.UnsupportedOperationException e) {
        System.out.println("Invalid operation for sorted list.");
    }
    return this;
}

これはこれを行う正しい方法ですか?を使用してメッセージを印刷しましたが、メッセージprintln()を生成する別の方法はありますか?

4

2 に答える 2

18

メソッドで例外をキャッチしたくありません。ポイントは、操作がサポートされていないことを呼び出し元に知らせることです。

public BasicLinkedList<T> addToFront(T data) {
    throw new UnsupportedOperationException("Invalid operation for sorted list.");
}
于 2013-03-11T00:55:16.003 に答える
2

コードを次のように書き直すことができます

public BasicLinkedList<T> addToFront(T data) throws UnsupportedOperationException {
    if (this instanceof SortedList) {
        throw new UnsupportedOperationException("Invalid operation for sorted list.");
    }else{
        return this;
    }
}

それは基本的にあなたが求めていることを達成します。

于 2013-03-11T00:48:16.327 に答える