有这个界面:
public interface Cloneable<T>
{
public T clone();
}
它正在实施课程:
public class Clazz implements Cloneable<Clazz>
{
public Clazz clone();
}
我可以避免这种情况吗?:
implements Cloneable<Clazz>
它只是implements Cloneable
。对不起我的英语,我来自俄罗斯...
答案 0 :(得分:1)
你可以写implements Cloneable
,但是你会使用 raw 类型,这通常是一个坏主意。
为了更好的打字,你最好坚持你所拥有的。
答案 1 :(得分:0)
如果遗漏<Clazz>
,则会将其视为使用<Object>
。
如果可以接受,那就去吧。不推荐,除非你真的想失去一些类型安全。
没有Java Puzzlers
提到这个......我找不到它。
找到它here。转到大约38:00他们正在讨论Glommer
类型。
Jon是正确的 - 原始类型与<Object>
不同,而且 可怕。
答案 2 :(得分:-2)
解决方案:public interface Cloneable<T extends Cloneable<T>>