2017-09-19 40 views
-3

我試圖通過將迭代值傳遞給列表來填充控制器的下拉列表。迭代成功完成,但我不斷收到一個類型不匹配錯誤類型不匹配:無法從字符串轉換爲列表<String>嘗試填充下拉列表

List<Skills> mskills = skillsService.getAll(); 

for(Skills skills : mskills){ 
    String nameVal = skills.getName(); 
    List<String> matchName = nameVal; //having an issue here 
} 

return matchName; 

如何能通過的值nameValmatchName。請協助

+1

也許''matchName.add(nameVal)''? –

+1

列表 matchName < - 這是一個列表。 爲了將項目添加到列表您需要使用 matchName.add(nameVal); 我推薦:https://docs.oracle.com/javase/tutorial/collections/ – Fincio

+0

這是一個基本的java問題(assignement)!你必須在申請前學習! –

回答

0

有很大的錯誤! matchName列表在for循環外不可見。此外,您不能將字符串分配給列表引用。

List<Skills> mskills = skillsService.getAll(); 
List<String> matchName = new ArrayList<String>(); 
for(Skills skills : mskills){ 
     String nameVal = skills.getName(); 
     matchName.add(nameVal); //having an issue here 
    } 
return matchName; 
0

你想一個String對象分配到List<String>對象: 通過替換您的代碼。您需要創建一個列表,然後向其中添加元素。

List<Skills> matchName = new ArrayList<>(); 
List<Skills> mSkills = skillService.getAll(); 
for(Skill s : mSkills) { 
    String nameVal = skills.getName(); 
    matchName.add(nameVal); 
} 
return matchName; 
0

試試這個:

List<String> matchName = new ArrayList<String>(); 
for(Skills skills : mskills){ 
    String nameVal = skills.getName(); 
    matchName.add(nameVal); //having an issue here 
} 
return matchName; 
相關問題