2016-10-31 6 views
-2

なしPOJOの特定のパラメータを置き換えますのJava:私は、オブジェクトのいくつかのリストを持って反復

List<Object> objectList = new ArrayList<>(); 

Object.classを次のようになります。私は置き換える/割り当てたい

public class Object { 

private String name; 
private String age; 

... getters & setters ... 
} 

すべて '名前'内のパラメータはオブジェクトリストとfe:"Andrew"

通常、私は反復処理を行いますが、反復処理を行うことなくそれを行う方法はありますか?私はcollections.replaceAllを試みたが失敗している:

Collections.replaceAll(objectList, object, new Object.setName("Andrew")); 
+0

複数のオブジェクトのメソッドを反復処理せずに呼び出すことはできません。それはなぜ問題なのですか? – Thilo

+2

これを「反復せずに」行うことの要求は不可能です。文法的な砂糖を使って "1ライニング"の方法は十分ですか? – MordechayS

+0

Java 8を使用することで意味しますか? –

答えて

0
objectList = objectList.forEach(object -> object.setName("Andrew")); 
+0

それはどのように反復ではありませんか? – Thilo

+0

機能的なスタイル –

+0

Java 8のように見えますが、私は自分のプロジェクトでそれを使用できません。 –

-1

は、あなたがこののみを達成することができますstaticする名前フィールドを設定します。それ以外の場合は、反復処理を行う必要があります。

+0

あなたは正確にどのように精緻化できますか?私はこのようにしてみましたが、明らかに間違っています: 'modelList.replaceAll(modelList、modelOne.getName()、modelOne.setName(" andrew "));' –

+0

フィールドを 'static'に設定すると、フィールドを共有するので、常に*同じ値を持つことになります。万一、これが受け入れられる動作である場合は、[チュートリアル](https://docs.oracle.com/javase/tutorial/java/javaOO/classvars.html)にお読みください。含意。 –

+0

ありがとうございます! –

関連する問題