作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一组对象(父对象)。对于特定条件,我想向该对象添加额外的数据。因此,我创建一个从父类扩展的子类,将数据放入子类并将其放回父类集。理论上是有可能的。但这是这样做的好方法吗?请建议我其他更好的方法。
另一种方法是创建一组子代而不是父代。直接将数据传递给child。但我不能这样做,因为父集将转换为 Json,并且所有父对象都不需要多余的字段。
final LinkedHashSet<Parent> parentSet = new LinkedHashSet<Parent>();
parentSet.add(new Parent("AAA"));
parentSet.add(new Parent("ABC"));
parentSet.add(new Parent("DXX"));
parentSet.add(new Parent("GHI"));
final LinkedHashSet<Parent> childSet = new LinkedHashSet<Parent>();
final Iterator<Parent> iterator = parentSet.iterator();
while (iterator.hasNext()) {
final Parent parent = iterator.next();
if (parent.str.startsWith("A")) {
iterator.remove();
childSet.add(new Child(parent.str, 27));
}
}
parentSet.addAll(childSet);
最佳答案
您想要在子级之间共享的数据应放置在父级中。现在你只有一个子类,如果你想出一个 BadChild 类,这个子类应该有这个方法吗?我建议的最佳实践是像现实世界的例子一样思考。
例如,家长是否必须知道 child 的确切高度? child 必须知道 parent 的确切年龄吗?
关于java - 使用特定数据的哈希集进行多态实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29642465/
我来自 Asp.Net 世界,试图理解 Angular State 的含义。 什么是 Angular 状态?它类似于Asp.Net中的ascx组件吗?是子页面吗?它类似于工作流程状态吗? 我听到很多人
我一直在寻找 3 态拨动开关,但运气不佳。 基本上我需要一个具有以下状态的开关: |开 |不适用 |关 | slider 默认从中间开始,一旦用户向左或向右滑动,就无法回到N/A(未回答)状态。 有人
我是一名优秀的程序员,十分优秀!