Java 泛型类型转换,例如 <String, String> 到 <Object, Object>
Java generic type conversion like <String, String> to <Object, Object>
java有没有办法转换类型
来自 : <Object, Object>
至:<String, String>
或
来自 : <String, String>
至:<Object, Object>
我在 ConcurrentKafkaListenerContainerFactory<Object, Object>
和 ConcurrentKafkaListenerContainerFactory<String, String>
之间
您必须使用中间原始类型。这是 Object
到 String
转换的示例。反向转换看起来是一样的。
static ConcurrentKafkaListenerContainerFactory<Object, Object> stringFactoryToObjectFactory(
ConcurrentKafkaListenerContainerFactory<String, String> stringFactory) {
@SuppressWarnings("rawtypes")
ConcurrentKafkaListenerContainerFactory rawTypeFactory = stringFactory;
@SuppressWarnings("unchecked")
ConcurrentKafkaListenerContainerFactory<Object, Object> objectFactory = rawTypeFactory;
return objectFactory;
}
当然它违反了类型安全并且 ClassCastException
将在运行时发生,如果这些工厂将使用不同的类型。
java有没有办法转换类型
来自 : <Object, Object>
至:<String, String>
或
来自 : <String, String>
至:<Object, Object>
我在 ConcurrentKafkaListenerContainerFactory<Object, Object>
和 ConcurrentKafkaListenerContainerFactory<String, String>
您必须使用中间原始类型。这是 Object
到 String
转换的示例。反向转换看起来是一样的。
static ConcurrentKafkaListenerContainerFactory<Object, Object> stringFactoryToObjectFactory(
ConcurrentKafkaListenerContainerFactory<String, String> stringFactory) {
@SuppressWarnings("rawtypes")
ConcurrentKafkaListenerContainerFactory rawTypeFactory = stringFactory;
@SuppressWarnings("unchecked")
ConcurrentKafkaListenerContainerFactory<Object, Object> objectFactory = rawTypeFactory;
return objectFactory;
}
当然它违反了类型安全并且 ClassCastException
将在运行时发生,如果这些工厂将使用不同的类型。