2011-08-04 191 views
0

有一點扳機時刻。我需要轉換列表到字符串數組:JSF2將字符串列表轉換爲字符串[]

List<String> selectedIndicieString[] targetIndices;

的selectedIndicie列表是從後臺bean拉,我試圖將其轉換爲一個String數組,像這樣:

setTargetIndices(initialiseBean.getSelectedIndicie().toArray(getTargetIndices())); 

但是Java有一句​​老話:

在託管bean上執行資源注入searchBean

正如我所說我有一個扳手的時刻如何將字符串列表轉換爲字符串數組,所以任何建議將是可愛的。

乾杯

+0

你可以分割線了一下,看看到底哪個調用失敗? –

+0

*「在託管bean searchBean上執行資源注入時發生錯誤」*。請根據根本原因閱讀整個堆棧跟蹤的服務器日誌。它包含你的答案。 – BalusC

+0

你在構造函數中這樣做嗎?如果是這樣,請嘗試將其移至具有@PostConstruct的方法。 –

回答

1

List.toArray返回Object秒的陣列,這很可能導致異常時執行setTargetIndices此方法將被接受String對象的數組。答案是不要將setter轉換爲接受數組Object(因爲JSF運行時可能根本無法將setter識別爲屬於targetIndices屬性),而是要使用字符串數組調用setter。

+0

spanner moment over:String [] targetIndices = initialiseBean.getSelectedIndicie()。toArray(new String [0]); – Ally

+0

我想知道你是如何設法通過編譯器錯誤,並且即將刪除這個答案。 –

0

正如我所說我有一個扳手的時刻如何將字符串列表 轉換爲字符串數組,所以任何建議將是可愛的。

使用toArray方法。

0

試試這個:

String[] targetIndices = selectedIndicie.toArray(new String[selectedIndicie.size()]);