从一个对象类到另一个对象类的自动转换

时间:2011-05-26 09:47:47

标签: java class casting

我有两个Java-Classes,如下所示:

public class MyClass {
...
}

public class MyClassList extends ArrayList<MyClass> {
...
}

现在我有任何以MyClassList为参数的方法。该方法也应该接受MyClass。我知道我可以重载该方法。

是否有可能只用一种方法获得相同的结果?我正在考虑MyClass中的方法,该方法会自动被调用并将自身强制转换为MyClassList

2 个答案:

答案 0 :(得分:3)

没有。您必须重载该方法。您无法在Java中提供用户定义的隐式转换。

答案 1 :(得分:1)

MyClassList不会延伸MyClass

如果由于某种原因,您希望单个方法同时接受ObjectMyClass,则您的方法必须采用MyClassList类型。然后,如果你想使用他们的特定类型,你将不得不进行instanceof测试(除非你想做的只是调用属于Object的方法)。

我认为两种不同的方法是最好的行动方案。