Я прочитал ниже в документе Spring 3.0:
Коллекция со строгим шрифтом (только Java 5+)
В Java 5 и более поздних версиях вы можетеиспользовать строго типизированные коллекции (используя универсальные типы).То есть можно объявить тип Collection так, чтобы он мог содержать только элементы String (например).Если вы используете Spring для зависимой вставки строго типизированной коллекции в bean-компонент, вы можете воспользоваться преимуществами поддержки преобразования типов в Spring, так что элементы ваших строго типизированных экземпляров Collection преобразуются в соответствующий тип перед добавлением вКоллекция.
public class Foo {
private Map<String, Float> accounts;
public void setAccounts(Map<String, Float> accounts) {
this.accounts = accounts;
}
}
<beans>
<bean id="foo" class="x.y.Foo">
<property name="accounts">
<map>
<entry key="one" value="9.99"/>
<entry key="two" value="2.75"/>
<entry key="six" value="3.99"/>
</map>
</property>
</bean>
</beans>
Когда свойство account объекта foo подготовлено для внедрения, общая информация о типе элемента карты со строгой типизацией доступна для:отражение. Таким образом, инфраструктура преобразования типов в Spring распознает различные элементы значения как имеющие тип Float, а строковые значения 9.99, 2.75 и 3.99 преобразуются в фактический тип Float.
как можноэто будет возможно?Как я знаю, информация общего типа стирается во время компиляции.