2015-06-25 3 views
1

Предположим, у меня есть следующий класс:Использование Джексона с родовыми типами

public class Sample<T> { 
    private String smth; 
} 

мне нужно иметь имя свойства «SMTH» зависит от общего типа. Например: Sample<String> должна быть обращена к {"string":value} и Sample<Integer> к {"int":value}

Я пытался использовать Джексон подмешать, но он может быть применен только на конкретном классе (не общего)

Может кто-нибудь предложить somethig, чтобы разобраться?

ответ

2

Эта проблема называется erasure.

Если у вас есть этот код

Sample<String> mysample = ... 

и хотят превратить MYSAMPLE в {"string":value}

Это не представляется возможным.

Во время работы < Строка> информация недоступна. Это называется стиранием.

What is the concept of erasure in generics in Java?

Effects of Type Erasure and Bridge Methods

Смежные вопросы