仅当我的代码未放在if
语句中时,它才能正确执行。为什么会这样呢?我认为条件一定有问题,应该检查来自JTextFields的字符串是否不为空。
这是我的代码,无需使用if
语句即可工作:
user1.name = name1;
user1.password = pass1;
user1.ip = i1;
save(user1);
这是执行不当的if
语句:
if(!name1.equals("") && !pass1.equals("") && !i1.equals("")) {
user1.name = name1;
user1.password = pass1;
user1.ip = i1;
save(user1);
}
注意:name1,pass1和i1都是基本值的字符串。 name1可以是Bob,pass1可以是Bob123,i1可以是192.168.32.1
答案 0 :(得分:3)
因为您要尝试
检查来自JTextFields的字符串是否不为空
检查文档中的isEmpty()
方法,并使用类似以下内容的方法:
if((name1 != null && !name1.isEmpty()) &&
(pass1 != null && !pass1.isEmpty()) &&
(i1 != null && !i1.isEmpty()) ) {
//....
}
答案 1 :(得分:3)
一个独特的非答案:您在错误的位置进行了验证!
您的UI元素应该只允许您在存在所需值时触发该保存操作。创建防止用户犯错的用户体验。不用花费时间去发现“哦,用户犯了个错误”!
换句话说:您应该监听文本字段上的状态,并且仅当所有三个文本字段的内容均为非空时,您才 >启用您的“保存”按钮/菜单项!并且当字段之一再次变空时,最好禁用该按钮/菜单项。