相关疑难解决方法(0)

为什么Cloneable不被弃用?

通常理解CloneableJava 中的接口是破坏的.这有很多原因,我不会提及; 其他人已经做到了.它也是Java架构师自己的位置.

因此,我的问题是:为什么还没有被弃用?如果核心Java团队已经确定它已被破坏,那么他们也必须考虑弃用.他们这样做的原因是什么(在Java 8中,它仍然没有被弃用)?

java deprecated cloneable java-8

137
推荐指数
2
解决办法
8620
查看次数

Java8:为什么禁止从java.lang.Object为方法定义默认方法

默认方法是我们的​​Java工具箱中一个不错的新工具.但是,我尝试编写一个定义defaulttoString方法版本的接口.Java告诉我这是禁止的,因为声明的方法java.lang.Object可能不会被default编辑.为什么会这样?

我知道存在"基类永远胜利"规则,因此默认情况下(pun;),方法的任何default实现Object都会被方法覆盖Object.但是,我认为没有理由说明Object规范中的方法不应该有例外.特别是对于toString具有默认实现可能非常有用.

那么,Java设计者决定不允许default方法覆盖方法的原因是什么Object

java interface java-8 default-method

119
推荐指数
3
解决办法
2万
查看次数

是什么阻止Cloneable成为像StringBuilder这样的可变对象?

制作一个不可变对象是个坏主意Cloneable.这就是为什么 String不能克隆.不可变BigInteger并且BigDecimal没有 Cloneable.

但是无法克隆可变的StringBuilder和StringBuffer!

这种决定背后的原因是什么?

是的,我可以使用"复制构造函数",new StringBuilder(CharSequence seq)提供复制构造函数和禁止克隆的设计原则/推理是什么?

java stringbuilder clone stringbuffer cloneable

3
推荐指数
1
解决办法
59
查看次数