10

因此,其中一种方法描述如下:

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 回答