gpt4 book ai didi

java - AbstractCollection 类中的 Add() 方法

转载 作者:行者123 更新时间:2023-12-01 11:13:59 24 4
gpt4 key购买 nike

这是一 block AbstractCollection<E>类:

public boolean addAllm(Collection<? extends E> c) {
boolean modified = false;
for (E e : c)
if (add(e))
modified = true;
return modified;
}
public boolean add(E e) {
throw new UnsupportedOperationException();
}

方法 add(E e) 有什么情况吗?返回值“false”,因此 addAll方法返回“false”?

顺便说一句,我一直认为当一个方法是任何类型时,它应该包含 return 语句(除了“void”)。所以,我的下一个问题是:

java中的方法在不使用语句的情况下返回一种类型的值是否还有其他情况returnthrow new ...Exception()就像上面的例子一样?

抱歉我的英语不好,如果有不清楚的地方..

最佳答案

这是一个抽象类。

如果您使用提供的 add 方法(直接或通过 addAll),它将失败并出现 UnsupportedOperationException

子类会想要提供自己的add方法(实际上做了一些有用的事情)。

这些应该返回 truefalse 取决于元素是否添加(例如 Set 不允许重复)。

对于一般的方法返回值,编译器确保方法始终返回声明的返回类型的值(或者对于 void 方法返回不带值的值)或引发异常。它不会让你拥有可以在没有该 (*) 的情况下结束的方法

(*) 你可以拥有根本不结束的方法...

关于java - AbstractCollection 类中的 Add() 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32051308/

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