我需要返回某個對象的屬性,我需要在forEach
循環內訪問該屬性。基本上我有一個user
對象,它有一個屬性List<UserLocation>
和UserLocation
對象是一個Location
對象屬性爲location_id
。如果user
對象上的store_id
對象與UserLocation
對象上的store_id
匹配,那是我需要從中獲取location_id
的對象。然而,我得到的問題是它說lambda表達式內使用的變量應該是最終的或有效的最終。見下面的代碼。Java 8forEach從循環內返回屬性
User user = getUser(request);
Integer locationId;
user.getUserLocations().forEach(ul -> {
if (ul.getStoreId() == user.getStoreId()) {
locationId= ul.getUserLocations().getLocationId();
}
});
任何意見或解決方案將不勝感激!
[lambda表達式中使用的變量應該是最終的或有效的最終]的可能重複(http://stackoverflow.com/questions/34865383/variable-used-in-lambda-expression-should-be-final-or-有效 - 最終) –
不幸的是,Java沒有關閉,這就是爲什麼你會遇到編譯錯誤。 – randomUser56789