- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
请看这个link Joshua Bloch 的 Effective Java。
在第二段中,作者说:
The class is private or package-private, and you are certain that its equals method will never be invoked. Arguably, the
equals
method should be overridden under these circumstances, in case it is accidentally invoked:@Override public boolean equals(Object o) {
throw new AssertionError(); // Method is never called
}
请解释一下。我对作者使用术语私有(private)类感到困惑,这就是为什么在我们确定不会调用 equals 方法时需要覆盖它。
最佳答案
只有内部类才能是私有(private)类。
至于“为什么”需要重写equals
,原因是按照您所展示的方式编写它,您将确保该方法永远不会故意叫的六个月后的那一刻,当项目的新开发人员调用该类的 equals 时,该方法将抛出并表明调用它是不正确的。这是好事;它可以防止“忘记”它。
关于java - Joshua Bloch 的 Effective Java 中的 Equals 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29208408/
在“Effective Java”一书中,Joshua Bloch 说:“不可能在 Collection Framework 中子类化任何方便的实现类”。 如果 ArrayList、LinkedLis
从这里Artima article on clone vs copy constructor : Object's clone method is very tricky. It's based on
我的一个类中有许多构造函数,因此我认为为其中一个类(Spring 项目)实现 Bloch 的“构建器模式”(参见 http://www.informit.com/articles/article.as
假设我有一个抽象类 (BaseThing)。它有一个必需参数(“base required”)和一个可选参数(“base optional”)。我有一个扩展它的具体类(Thing)。它还具有一个必需参
我正在考虑使用 Joshua Bloch 所描述的构建器模式 here .我有一个显示警报消息的类,将被许多应用程序使用。它可以有大量不同的选项,如 line1、btn txt、title、line2
关闭。此题需要details or clarity 。目前不接受答案。 想要改进这个问题吗?通过 editing this post 添加详细信息并澄清问题. 已关闭 8 年前。 Improve th
读了两遍这本书的这一部分后,我仍然不明白为什么如此广泛地阐述这一点。非静态成员类是语言的一部分。同意并非任何编程语言的所有部分都是完美的。发挥非静态成员类的优点,即可以访问封闭实例的方法,因此很少会超
我正在阅读 Joshua Bloch 的书 effective java。在“favor composition over inheritance”的第 16 条中,他给出了一个使用 HashSet
我正在使用 QuTiP 绘制 Bloch 球体图。我想给它一个标题。我怎样才能做到这一点?我在 Google 上搜索但找不到答案。 最佳答案 您需要将 Bloch 球体渲染到 matploltib 中
我想知道封闭类可以创建多少个静态成员类实例。我假设只有一个,但 Bloch 的以下摘录对我来说没有意义。 引用 Joshua Bloch 的 Effective Java - Item 22*:优先使
我使用 Joshua Bloch 介绍的 Java 构建器模式。有时,我发现与原始类型相比,使用默认值初始化某些字段的开销更高。 因此,我的策略是什么。 我延迟了这些字段的默认值初始化操作。 在构建过
考虑 Bloch 的 Builder 模式的逐字副本(对 C# 的语法进行了更改): public class NutritionFacts { public int ServingSize {
与仅使用构造函数创建对象相比,内存和性能使用情况如何? 这里的用法是创建一个 Set或 List可能包含数以百万计的条目,我担心使用 Bloch 的 Builder 模式的开销。我过去使用过它,但从未
我最近开始使用 QuTip for Python。我想使用 qutip.Bloch() 绘制 Bloch 球体中两级系统的演化,但我不知道如何将这样的图绘制为连续线。 这是我目前使用的代码: bola
这个问题已经有答案了: Properly removing an Integer from a List (8 个回答) 已关闭 9 年前。 我现在正在阅读 Joshua Bloch 的《Effect
Joshua Bloch 建议将构建器模式作为具有太多构造选项或太多构造函数参数的类的解决方案。 GOF builder 的基本意图是“将对象的构造与其表示分离”,或者基本上是为具有相同基类的不同最终
我正在尝试为下面的类使用 Builder 模式。最初我使用类的构造函数来设置所有参数,但不小心遇到了 Builder 模式,它看起来很适合我的用例。 下面是我的类(class),其中人们通常总是传递
回到 2007 年,我读了一篇关于 Joshua Blochs 的文章,介绍了“构建器模式”以及如何修改它以改善构造函数和 setter 的过度使用,尤其是当一个对象具有大量属性时,其中大部分是可选的
请看这个link .关于枚举,Bloch 先生说 Java’s enum types are classes that export one instance for each enumeration
我加入了 C# 潮流,想知道是否有 Joshua Bloch 的 Effective Java 的等价物对于 C# 世界。 鉴于它们的相似性,我已经能够将一些 Java 知识应用到 C# 中,但我对最
我是一名优秀的程序员,十分优秀!