我想从中制作一个简单的代码

时间:2017-02-26 14:58:25

标签: java eclipse netbeans

所以,我在我的程序中有JTextfields,但是如果我检查它是否为空,它将使我的代码更长并且无效。有没有比这更简单的代码?

if (t_ipA.getText() == null || t_ipA.getText().trim().isEmpty()) {
                 // your code here
            }

注意:我有:t_ipA .. t_ipD,t_maskA .. t_maskD 有八个JTextfields。

-------编辑--------- 好的,现在我已经解决了我自己的问题。

这是代码,我一直在使用: 这是方法:

    private boolean isEmpty(JTextField f) {
    if (f==null || f.getText().trim().isEmpty()) {
        f.setText("0");
    }
    return f.getText().trim().isEmpty();

}

这是在actionlistener:

isEmpty(t_ipA);
isEmpty(t_ipB);
isEmpty(t_ipC);
isEmpty(t_ipD);

isEmpty(t_maskA);
isEmpty(t_maskB);
isEmpty(t_maskC);
isEmpty(t_maskD);

但是,我仍然在寻找使用数组列表来简化这个代码。

感谢QBrute,JBNizet和Mureinik

1 个答案:

答案 0 :(得分:0)

首先,您可以定义一个封装检查的方法:

private boolean isEmpty(JTextField f) {
    return f.getText() == null || f.getText().trim().isEmpty();
}

然后,您可以将所有字段放在列表或数组中,并使用Java 8的流API将条件应用于所有字段。 E.g:

List<JTextFeild> fields = Arrays.asList(t_ipA, t_ipB /* etc... */);
if (fields.stream().allMatch(this::isEmpty)) {
    // your code here...
}