gpt4 book ai didi

java - Java中是否存在不受支持的操作注释?

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:53:07 25 4
gpt4 key购买 nike

Java 中是否有任何注释将方法标记为不受支持?例如。假设我正在编写一个实现 java.util.List 接口(interface)的新类。此接口(interface)中的 add() 方法是可选的,我在实现中不需要它们,因此我执行以下操作:

public void add(Object obj) {
throw new UnsupportedOperationException("This impl doesn't support add");
}

不幸的是,有了这个,直到运行时才可能发现,事实上,这个操作不受支持。

理想情况下,这会在编译时被捕获,这样的注释(例如可能 @UnsupportedOperation)会促使 IDE 对这个方法的任何用户说,“嘿,你正在使用不支持的操作”,使用 @Deprecated 标记 Eclipse 以突出显示已弃用项目的任何用途。

最佳答案

虽然表面上这听起来很有用,但实际上并没有太大帮助。你通常如何使用列表?我通常会这样做:

List<String> list = new XXXList<String>();

那里已经有一个间接寻址,所以如果我调用 list.add("Hi"),编译器应该如何知道 list 的这个特定实现不支持它?

这个怎么样:

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

现在更难了:编译器需要验证对该函数的所有调用都使用支持 add() 操作的列表。

所以不,没有办法做你要求的,抱歉。

关于java - Java中是否存在不受支持的操作注释?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4033457/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com