[英]Is it possible to Convert ArrayList < SelectItem> to ArrayList<Long> in java
[英]Convert ArrayList < String> to ArrayList<SelectItem>
我有一個名為 listout 的ArrayList<String>
,我想將其轉換為ArrayList<SelectItem>
。 我怎樣才能做到這一點?
PS:JSF的selectItem
根據您的問題歷史,您正在使用 JSF 2。在這種情況下,很高興知道<f:selectItem>
和<f:selectItems>
不再需要單個或一組SelectItem
對象。 只是一個普通的香草String
甚至是一個 Javabean 也非常好。
所以,
private String selectedItem;
private List<String> availableItems;
// ...
和
<h:selectOneMenu value="#{bean.selectedItem}">
<f:selectItems value="#{bean.availableItems}" />
</h:selectOneMenu>
在 JSF 2 中應該可以正常工作。
或者,Javabean 的集合,假設Foo
具有屬性id
和name
。
private Foo selectedItem;
private List<Foo> availableItems;
// ...
和
<h:selectOneMenu value="#{bean.selectedItem}">
<f:selectItems value="#{bean.availableItems}" var="foo" itemValue="#{foo}" itemLabel="#{foo.name}" />
</h:selectOneMenu>
假設您的意思是 JSF 的SelectItem
:
List<SelectItem> items = new ArrayList<SelectItem>(listout.size());
for(String value : listout){
items.add(new SelectItem(value));
}
return items;
我不知道SelectItem
是什么,所以我假設您有一個將String
轉換為它的方法,名為 createSelectItem()。
您必須遍歷字符串並填充另一個ArrayList
:
ArrayList<SelectItem> out = new ArrayList<SelectItem>();
for(String str : listout) {
out.add(createSelectItem(str));
Collection<SelectItem> result = Collections2.transform(
listout,
new Function<String, SelectItem>(){
@Override
public SelectItem apply(String s) {
return createSelectItem(s);
}
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.