【问题标题】:Automatic casting from one object-class to another从一个对象类自动转换到另一个对象类
【发布时间】:2011-05-26 09:47:46
【问题描述】:

我有两个 Java 类如下:

public class MyClass {
...
}

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

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

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

【问题讨论】:

    标签: java class casting


    【解决方案1】:

    没有。您将不得不重载该方法。您不能在 Java 中提供用户定义的隐式转换。

    【讨论】:

      【解决方案2】:

      但是MyClassList 没有扩展MyClass

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

      我认为两种不同的方法是最好的做法。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-09-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-09-06
        • 2021-12-10
        • 2011-03-15
        相关资源
        最近更新 更多