Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/372.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 简单选择方法(lambdaj)获取异常_Java_Lambdaj - Fatal编程技术网

Java 简单选择方法(lambdaj)获取异常

Java 简单选择方法(lambdaj)获取异常,java,lambdaj,Java,Lambdaj,我是lambdaj的新手。这似乎是Java编程的一大特点 所以我创建了一个非常简单的评估程序 但下面的代码有一个例外。你能帮我出什么事吗 --编辑后的没有为类X添加参数构造函数和封装的公共变量。 谢谢@AVD import java.util.Arrays; import java.util.List; import static ch.lambdaj.Lambda.having; import static ch.lambdaj.Lambda.on; import static ch.lam

我是lambdaj的新手。这似乎是Java编程的一大特点

所以我创建了一个非常简单的评估程序

但下面的代码有一个例外。你能帮我出什么事吗

--编辑后的没有为类X添加参数构造函数和封装的公共变量。 谢谢@AVD

import java.util.Arrays;
import java.util.List;

import static ch.lambdaj.Lambda.having;
import static ch.lambdaj.Lambda.on;
import static ch.lambdaj.Lambda.select;

public class Main {

    private static class X {
        private String name;
        public X(){
        }
        public X(String name) {
            this.name = name;
        }

        public String getName() {
            return name;
        }

        public void setName(String name) {
            this.name = name;
        }
    }

    public static void main(String[] args) {
        List<X> xs = Arrays.asList(
                new X("aaa"),
                new X("aaa"),
                new X("bbb")
        );

        List<X> s = select(xs, having(on(X.class).getName().equals("aaa")));

    }
}

用这种方式改变你的表情

List<X> s = select(xs, having(on(X.class).getName(), Matchers.equalTo("aaa")));
例如,直接返回布尔值

List<X> s = select(xs, having(on(X.class).isLowerCaseString());
List s=select(xs,have(on(X.class).isLowerConstring());

其中
isLowerCastring()
X
的一种方法,如果所有名称字母都是小写,则返回true。

以这种方式更改表达式

List<X> s = select(xs, having(on(X.class).getName(), Matchers.equalTo("aaa")));
例如,直接返回布尔值

List<X> s = select(xs, having(on(X.class).isLowerCaseString());
List s=select(xs,have(on(X.class).isLowerConstring());

其中
islowerConstring()
X
的一种方法,如果所有名称字母都小写,则返回true。

不添加参数构造函数和getter/setter。@AVD感谢您的帮助。我编辑过。NullPointerException消失了,但现在我得到了另一个。不需要参数构造函数。不添加参数构造函数和getter/setter。@AVD感谢您的帮助帮助。我编辑了。NullPointerException消失了,但现在我得到了另一个。不需要参数构造函数。我也遇到了同样的问题。最后发现enum在lambdaj中不起作用,不得不将其更改为类。但后来我的jaxB不起作用。所以我引用了apache替代品,而不是lambdaj。我也遇到了同样的问题。最终找到了我们发现enum在lambdaj中不起作用,必须将其更改为类。但是我的jaxB不起作用。因此我引用了apache替代方案,而不是lambdaj。