小编Ast*_*tgh的帖子

分配布尔变量值和在Java中分配比较结果之间的区别

我的同事传给我一些代码,当我运行代码时会出现问题.这是它的一部分

boolean purchased = false;
conn = DriverManager.getConnection(connectionUrl, connectionUser, connectionPassword);
stmt = conn.createStatement();
String sql = new StringBuilder().... // some query

rs = stmt.executeQuery(sql);
while (rs.next()) {
    //some code
    purchased = rs.getInt("purchased") == 1;
    print(" purchased:" + purchased);
}
Run Code Online (Sandbox Code Playgroud)

这总是打印购买为假.我改变了这个部分:

while (rs.next()) {
    //some code
    if(rs.getInt("purchased") == 1) purchased = true;
    print(" purchased:" + purchased);
}
Run Code Online (Sandbox Code Playgroud)

现在它完美无缺.

注意: 我的ResultSet只能有1条记录.并且在购买的 DB中是类型,因此不能有除0/1之外的其他值.

这两种写作方式有什么区别?我知道两者应该以同样的方式工作.

java boolean variable-assignment

0
推荐指数
1
解决办法
156
查看次数

标签 统计

boolean ×1

java ×1

variable-assignment ×1