java - 我有一个需要 Class<T> 的 api 函数 - 如何为其提供 List<String> 的类?

标签 java

我正在使用List.class因为List<String>.class是错的。是否有获取参数化类的类的语法?

代码:

import java.util.List;
import org.apache.camel.Message;
...
    Message m = exchange.getIn();
    List<String> serviceIds = null;
    serviceIds = m.getHeader("serviceId", List.class);

当然我更愿意:

    serviceIds = m.getHeader("serviceId", List<String>.class);

确保如果 header 中包含非字符串的列表,getHeader 将返回 null。

最佳答案

你不能给它一个类 List<String> ,因为没有这样的类: <String> 的类型在称为 type erasure 的过程中被编译器删除。 ,留给你纯净List .

关于java - 我有一个需要 Class<T> 的 api 函数 - 如何为其提供 List<String> 的类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12532802/

相关文章:

java - Libgdx Scene2d : Event Listener on Table

java - jsch-->无法使用java从unix跳转服务器连接到另一个unix服务器

java - 单击按钮时选择方法

java - 通过 http post 下载文件将返回 zip 文件内容

java - JodaTime:使用特定间隔获取两个日期之间的日期

java - 为什么 Java 中的局部变量(包括基元)必须始终进行初始化?

java - java中参数化类型的打印值

java - 无法使用 Jackson 解析 xml 中的元素列表

java - 重复消除

java - java中SimpleDateFormat中不同时间的字符串日期到日期