Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

为什么不可以这样写呢? #76

Open
wants to merge 3 commits into
base: master
Choose a base branch
from
Open

为什么不可以这样写呢? #76

wants to merge 3 commits into from

Conversation

chelegen
Copy link
Contributor

  • 这个PR解答了当前仓库中的题目(机器人会自动判题并合并当前PR)
  • 这个PR修复了当前仓库中的一些代码缺陷(机器人不会判题,而是由管理员来处理当前PR)

@blindpirate
@hcsp-bot

for (E e : c)
    if (add(e))
        modified = true;
return modified;

是因为addAll调用了add的原因,所以用addAll会导致两次求和
@hcsp-bot
Copy link
Contributor

🎉 感谢提交Pull Request!请稍等片刻,我们已经将其提交到CI进行检查,一旦有结果会立即通知您!

@hcsp-bot
Copy link
Contributor

你的提交 6cb0169 ,似乎失败了:Your tests failed on CircleCI

😅 请不要气馁,仔细分析原因,再接再厉!

@chelegen
Copy link
Contributor Author

@blindpirate @hcsp-bot 为什么这样写会通不过呢。。。。emmm感觉这样的话emm

@@ -4,26 +4,27 @@
import java.util.Collection;
import java.util.HashSet;

public class CountingSet extends HashSet<Object> {
public class CountingSet extends HashSet{
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

不明白这里为什么要把范型去掉。虽然跟你碰到的问题无关,但是我还是想问,你去掉范型的意图是什么?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

这个忘了给它写回去。。。。不小心把整个行都删掉了

public class CountingSet extends HashSet<Object> {
public class CountingSet extends HashSet{

private HashSet<Object> set = new HashSet<>();
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

你现在在“混用”组合和继承,这是大忌,因为你很难搞清楚,调用的方法究竟是“自己的”,还是“自己肚子里的另外一个对象的”。就比如说你现在碰到的问题,调用CountingSetsize()方法,究竟是在调用CountingSet本身的size()方法(继承自HashSet)呢,还是在调用CountingSet中的setsize()方法呢?

如果你不是对组合和继承的原理非常了解,请不要混用它们。

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

好的,就是说一般情况下不建议这样用嘛

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants