Java隐藏从数据库中检索的空值

时间:2018-01-07 16:52:20

标签: java sql postgresql null

我使用下面的代码从数据库中获取所有结果。

while(rs1.next()) {
    for(int i = 1; i < columnsNumber; i++)
        System.out.printf(rs1.getString(i)+"    ");
    System.out.println();
}

他们的形式是:

1       google      com     null        
2       facebook    com     null        
3       youtube     com     null
4       bbc         com     uk

我想不显示空值。虽然仍然显示其余的记录。 谢谢!

3 个答案:

答案 0 :(得分:1)

您可以使用三元组检查空值...

for(int i = 1; i < columnsNumber; i++) {
    String printMe = rs1.getString(i)
    System.out.printf(printMe == null ? "" : printMe + "\t"); 
}

在这种情况下,如果printMe(您的列值)为null,则只打印一个空字符串。我已经用空格替换了标签,但是你可以按照自己喜欢的方式进行打印。

答案 1 :(得分:0)

您可以在打印之前进行检查:

for(int i = 1; i < columnsNumber; i++) {
    String s = rs1.getString(i)
    if (s != null) { 
       System.out.printf(s + "    "); 
    }
}
System.out.println();

答案 2 :(得分:0)

在打印列单元格元素之前,只需执行简单的空检查。

while(rs1.next()) {
    for(int i = 1; i < columnsNumber; i++)
        System.out.printf(rs1.getString(i) == null ? "" : rs1.getString(i) + "\t");
    System.out.println();
}