java - 如何使用 LambdaJ 按字段名称设置列表中对象的字段?

标签 java lambdaj

代码:

class MyClass {
    private String field1;
    private Long field2;
    //getters and setters also here
}

List<MyClass> myClassList = new ArrayList<>();
    //getting my list filled

现在我需要设置例如field1 将列表中的所有对象设置为某个值。我可以这样做:

forEach(myClassList).setField1("some value");  

但是如何动态设置某些字段,将字段名称作为字符串“field1”或“field2”等传递?

最佳答案

您所问的问题与 lambdaj 所依据的主要原则背道而驰。我将它设计为允许以强类型的方式调用 Bean 的方法。通过这种方式,您可以获得您最喜欢的 IDE 提供的所有帮助,例如自动完成功能。此外,如果您决定重命名该方法,您的 IDE 将能够自动为您更改名称,或者至少您会出现编译错误,而不是仅在运行时发现问题。

关于java - 如何使用 LambdaJ 按字段名称设置列表中对象的字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19160928/

相关文章:

java - 在JAVA中使用此方法在ENUM类函数中更改ENUM的值

java - 紧密耦合的 fragment 在 Android 中可以吗(在某些情况下)?

java - Java 中 .NET 的 Lambda 表达式

java - 如何在默认情况下使用 lambdaj 组

java - Lambdaj FinalClassArgumentCreators 的应用程序范围的配置。在哪里以及如何做?

java - 从 ArrayList 到数组的对象

java - 在 android 上使用 Socket.IO 总是返回 XHR 轮询错误

java - ByteBuddy 的 ElementMatchers#nameStartsWith 使用什么算法?

java - LambdaJ forEach 集合