Java中有不支持的操作注释吗?

前端之家收集整理的这篇文章主要介绍了Java中有不支持的操作注释吗?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
java中是否有任何注释将方法标记不支持?例如.假设我正在编写一个实现java.util.List接口的新类.这个接口中的add()方法是可选的,我不需要它在我的实现,所以我做以下:
public void add(Object obj) {
   throw new UnsupportedOperationException("This impl doesn't support add");
}

不幸的是,有了这一点,直到运行时才能发现,实际上这个操作是不受支持的.

理想情况下,这将在编译时被捕获,并且这样的注释(例如,可能@UnsupportedOperation)会推动IDE向该方法的任何用户说“嘿,您正在使用不受支持的操作”,方法是使用@ Eclipse已弃用的标志,以突出显示已弃用项目的任何用途.

解决方法

虽然表面上这听起来很有用,但实际上它不会有什么帮助.你通常如何使用列表?我一般做这样的事情:
List<String> list = new XXXList<String>();

那里已经有一个间接了,所以如果我调用list.add(“嗨”),编译器应该怎么知道这个具体的列表实现不支持呢?

这个怎么样:

void populate(List<String> list) {
    list.add("1");
    list.add("2");
}

现在更加困难:编译器需要验证所有对该函数调用是否使用支持add()操作的列表.

所以不,没有办法做你所要求的,对不起.

猜你在找的Java相关文章