Java 传递变量 - 向下转换



我有一个函数,例如

helloworld(list<object> names)

我有以下代码:

List<CustomClass> newMe = new ArrayList<CustomClass>();

现在,如果我想newMe传递到helloworld(newMe);.这是不可能的,因为 im 向下铸造。如何克服此问题?我是否将我的列表向下投射到(对象),然后尝试向上投射它?还有别的办法吗?将不胜感激。

谢谢

helloworld的定义更改为

public void helloworld(List<?> names) {
    //method implementation...
}

请注意,您的方法将无法在列表参数中添加或删除元素。

只需在参数列表中使用 ? 作为泛型类型。例:

public class Foobar {
    public static void helloworld(List<?> names) {
    }
    public static void main(String[] args) {
        List<CustomClass> newMe = new ArrayList<>();
        helloworld(newMe);
    }
}

相关内容

  • 没有找到相关文章

最新更新