java - 基于参数的通用转换

标签 java generics casting

我需要基于方法参数(类名)的“通用”转换。 像这样的事情:

void save(DomainObject o, String className) {
    doSomething((className) o);
}

所以我想将“o”直接转换为“className”类的对象。

我知道如何通过类名字符串实例化对象,但是有什么简单的方法可以管理我的转换问题吗?

最佳答案

在您的情况下,您似乎已经将类名作为String,在这种情况下,ManoDestra 的答案是合适的。作为替代方案,您也可以使用此方法:

void save(DomainObject o, Class<?> type){       
    doSomething( type.cast(o) );
}

然后你可以这样调用它:

save( myObject, Integer.class );

关于java - 基于参数的通用转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36364221/

相关文章:

java - 多线程不起作用。什么是不正确的?

java - Log4j2 Silence 特定包

java - 我的本地主机和我的服务器之间使用 JAVA 进行不同的响应编码 REST

c# - Entity Framework 中不同表的抽象操作

swift - 如何在 swift 中定义显式转换运算符?

java - 使用 double 值的绝对值对 HashMap 进行排序

c# - 如何在 Entity Framework 核心中使用泛型类型?

c# - 如果类型 T 需要实例化,为什么通用类签名需要指定 new() ?

c++ - 在 C++ 中将模板对象自动转换为模板指针

Java lambda 表达式、强制转换和比较器