2015-09-01 2 views
-1

Я написал программу java для чтения строк из xml с использованием буферизованного считывателя. Этот xml содержит вопросы, множественный выбор и ответы. Эти вопросы, ответы, ответы хранятся в List<String>. Представляя эти вопросы пользователю, программа требует List<Question>. Я четко понимаю, что список String не может быть скопирован в список Question. Итак, как мне это сделать? и какую концепцию мне не хватает?Список преобразований <String> в список <mytype>

EDIT:.

Я думаю List<Integer> к List<String> или а именно, отличается на мой вопрос, потому что существуют .toString() и .parseInt() методы.

+0

Укажите класс вашего таможни – fantaghirocco

ответ

2

два типа:

List<String> 

и:

List<myType> 

эффективно два совершенно разных типов.

Также обратите внимание:

List 

То же самое,

List<Object> 

Так обычно преобразование из списка в список необходимо проделать нелегкий путь:

for(String element : listOfStrings) { 
MyType myType = doStuffToCreateMyType(element); 
myTypeList.add(myType); 
} 

Скажем например, «MyType» - это String, а другой тип - «Date», тогда примерное преобразование может быть:

private String doStuffToCreateMyType(Date input) { 
     DateFormatter f = .... 
     return f.format(input); 
     // or perhaps could simply do: return input.toString(); 
} 

Кроме того, Java будет пытаться автоматически конвертировать элементы для вас, если типы могут быть запущены. Таким образом, вы должны быть в состоянии сделать это:

List<MyType> myTypeList = ...; 
List<Object> myObjectList = (List<Object>) myTypeList; 

Также обратите внимание, что если вы пытаетесь к случаю объекта в строку, Java будет автоматически вызывать Object.toString(), чтобы сделать бросок для вас. Компилятор, вероятно, не будет достаточно умен, чтобы сделать это для парных элементов из двух списков, но это то, что нужно учитывать при создании типов объектов.

+0

Спасибо, куча. Кажется, я понимаю, но я все еще не вижу ничего очевидного. Не могли бы вы продумать метод doStuffToCreateMyType (element). – messypenguin

+0

Это действительно зависит от вашего ввода. Вероятно, вам придется включить образец XML-файла, если вам действительно нужен кто-то, чтобы выяснить этот метод. – matt

+0

Обновлено, чтобы привести пример - как указано в матах, точное преобразование будет зависеть от типов объектов, которые у вас есть. – LaFayette

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