我是一个新手程序员,有一个关于if-else循环的基本问题。我有一个程序只提供其他输出,不检查我的 if 条件。我想这是一个语法错误,我无法弄清楚。
public class adddeed
{
private User user = new User();
public void showdemo()
{
Form hi = new Form("Deed", BoxLayout.y());
TextField first = new TextField("","Enter Description");
Button b=new Button("Back");
Button g=new Button("Go");
String s=first.getText();
DBHandler db=new DBHandler();
g.addActionListener(e ->
{
if(s.equals(null))
{
Dialog.show(null,"Please Enter a Deed","OK",null);
}
else
{
Dialog.show(null,"Deed Uploaded Successfully","OK",null);
}
});
b.addActionListener(e ->
{
new Home(user).show();
//new adddeed().showdemo();
});
hi.add(first);
hi.add(b);
hi.add(g);
hi.show();
}
}
预期结果应该是当我没有在文本字段中输入任何内容并按 GO 时,它应该说"请输入契约"。实际结果是每次我按 Go 时,无论文本字段是否为空,它都会显示"契约上传成功"。
getText(( 函数不会返回 null,它会返回一个空字符串。所以 s.equals(null( 将始终下降。尝试检查它是否为空字符串。
我做错了,而不是将字符串存储在变量中,我是这样做的
if(first.getText().equals("") )
{
Dialog.show(null,"Please Enter a Deed","OK",null);
}