迭代我有這樣的事情:如何通過一個Collection <集<IConnection>>
something need here = scope.getConnections();
//getConnections() returns Collection<Set<IConnection>>
我需要通過所有連接迭代(東西了getConnections()
回報)
如何做到這一點?
迭代我有這樣的事情:如何通過一個Collection <集<IConnection>>
something need here = scope.getConnections();
//getConnections() returns Collection<Set<IConnection>>
我需要通過所有連接迭代(東西了getConnections()
回報)
如何做到這一點?
for (Set<IConnection> set : scope.getConnections()) {
for (IConnection iConnection : set) {
// use each iConnection
}
}
你的'泛型'在哪裏? – 2009-11-14 15:23:32
Collection<Set<IConnection>> sets = scope.getConnections();
for (Set<IConnection> set : sets) {
for (IConnection connection : set) {
//do something
}
}
哪裏是你的'泛型'? – 2009-11-14 15:27:57
泛型在那裏,但Bozho沒有正確使用代碼風格。我爲他解決了這個問題。 – 2009-11-14 15:30:37
啊,是的,對不起。我很着急,沒有檢查:) – Bozho 2009-11-14 20:08:08
我建議你不要在你的方式返回連接。
你getConnections必須返回只
Collection<IConnection>
public Collection<IConnection> getConnections()
{
return connections;
}
類裏面你可以選擇你想要的方式或需要來存儲它們
private Set<IConnection> connections;
考慮雙迴路作爲您一流的設計有問題。
如果我作爲班級的用戶必須每次都寫雙循環,我將停止使用你的班級。所以會做你的同事。
for (IConnection connection : provider.getConnections())
{
connection.doAction();
}
scope.getConnections()來自引用的庫,所以我不能那樣做,我只是使用它 – Omu 2009-11-14 15:53:46
好的。我知道了。如果你只需要所有的連接,我會建議在連接上寫一個包裝類或者Util方法兩個循環。 – 2009-11-14 15:59:15
兩嵌套for循環的答案很可能是你所需要的,但要注意,你也可以通過「關係」集合Iterables.concat()在谷歌的集合,並獲得了一個「扁平化」迭代。
你有IDE嗎?它們中的大多數有助於編寫返回類型值,並且還可以插入collection-loop-code。 – 2009-11-14 15:21:06
:)是的,我有日食,我只是非常新的Java和日食 – Omu 2009-11-14 15:24:03
你是否重新創建連接池?我建議使用完全開發,測試和維護連接池框架的第三方,如C3P0或Proxool。 – BalusC 2009-11-14 15:39:56