gpt4 book ai didi

java - 将非空对象转换为动态对象

转载 作者:行者123 更新时间:2023-12-01 18:12:33 25 4
gpt4 key购买 nike

我有这个方法:

 public static Object filterObject(Object object, String objectName){
...
}

这是我如何调用它:

Entity1 entity1 = new Entity1();
//Call some setters
Test.filterObject(entity1, "Entity1");

我想将 Object 转换为该方法内部的 Entity1 。我怎样才能做到这一点?

编辑我的问题是如何将object转换为objectName类的实例?

最佳答案

您应该使用泛型。

例如,

public static <T> T filterObject(T object, String objectName) {
...
}

Entity1 entity1 = new Entity();
Test.filter(entity1, "Entity1");

通过使用泛型,您不需要进行强制转换,并且可以避免 ClassCastException。基本上 T 可以替换为对象的类型。

此外,如果您想保证传递的对象是其他类型的子类,还可以使用以下内容。

public static <T extends ParentClass> T filterObject(T object, String objectName) {
...
}

编辑:如果您不需要不同类型的混合包,那么由于上述原因,您应该使用泛型来进行转换。请参阅这篇文章,了解是否应该使用泛型的详细说明。 https://stackoverflow.com/a/11402351/5085407

关于java - 将非空对象转换为动态对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31890182/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com