作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我真的很难解决这个问题,如果可以的话请帮助我。
这个方法的作用是,它通过执行 SQL 查询来检索我在数据库中的标签,将结果存储在 ArrayList 中,然后返回它。
我的数据库包含 3 个属性:名称、标签、位置。我只想检索标签并单独显示它们而不显示其他属性,所以它就像这种格式,例如 [tag1,tag2,tag3]
因为我的 toString 方法中的格式就是这样,我不能将它更改为只打印标签,因为我有另一种方法可以一起显示所有这些属性。
@Override
public String toString()
{
String p = (this.Name + ','+ this.Location+','+ this.Tag);
return p;
}
当我选择只输出标签时,我得到其他属性的空值,我得到的结果如下:[null,null,rfid1, null,null,rfid2, null,null,rfid3]
那么如何摆脱这些空值并只显示标记位呢?
我获取标签值的方法:
public ArrayList<wallet> getWalletTag() throws SQLException {
System.out.println("----------------");
System.out.println("Retrieve all tags");
Connection dbConnection = null;
Statement statement = null;
ResultSet resultset = null;
String query = "SELECT Tag FROM wallets;";
ArrayList<wallet> WalletsList = new ArrayList<>();
try {
dbConnection = getDBConnection();
statement = dbConnection.createStatement();
System.out.println(query);
resultset = statement.executeQuery(query);
while (resultset.next()) {
//String Name = resultset.getString("Name");
//String Loc = resultset.getString("Location");
String tag = resultset.getString("Tag");
WalletsList.add(new wallet (tag));
}
}
finally {
if (resultset !=null){
resultset.close();
}
if (statement !=null) {
statement.close();
}
if (resultset !=null) {
dbConnection.close();
}
}
return WalletsList;
}
我的 Controller 代码:
walletDAO dao2 = new walletDAO();
ArrayList<wallet> u ;
try{
u=dao2.getWalletTag();
最佳答案
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
if(Objects.nonNull(this.name)) {
sb.append(this.name+",");
}
if(Objects.nonNull(this.location)) {
sb.append(this.location+",");
}
if(Objects.nonNull(this.tag)) {
sb.append(this.tag);
}
return sb.toString();
}
我相信这会对你有所帮助。
关于java - 如何在 java 中删除 SQL 结果中的空值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58895340/
我是一名优秀的程序员,十分优秀!