-2

有这个接口:

public interface Cloneable<T>
{
    public T clone();
}

它正在实现类:

public class Clazz implements Cloneable<Clazz>
{
    public Clazz clone();
}

我可以避免这种情况吗?:

implements Cloneable<Clazz>

这将是简单implements Cloneable的。对不起我的英语,我来自俄罗斯...

4

3 回答 3

1

好吧,你可以implements Cloneable,但是你会使用原始类型,这通常是个坏主意。

为了更强大的打字,你最好坚持你所拥有的。

于 2013-07-27T21:53:17.463 回答
0

如果您省略 ,<Clazz>则将其视为已使用<Object>

如果这是可以接受的,那就去吧。除非您真的想失去一些类型安全性,否则不推荐。

有没有Java Puzzlers提到这个...我找不到它。

在这里找到它。转到大约 38:00,他们正在讨论Glommer类型。

Jon 是正确的 - 原始类型与原始类型不同<Object>,它们可怕。

于 2013-07-27T21:53:52.377 回答
-2

Solution: public interface Cloneable<T extends Cloneable<T>>

于 2013-07-27T22:14:55.813 回答