我一直试图在条件下使用按钮的名称,检查从.getText()
生成的字符串是否等于"新项目:"在下面的情况下,但每次我尝试运行此代码时,它总是给我一个"不等于"的结果"新项目:"这是它的起始值,并运行第一个块。即使在#1中,它打印了这个字符串的值,我已经复制并粘贴了从中打印出来的值,但它不起作用。我还通过用newProjectButton.getText()
替换"新项目"来证明,但这使得语句总是使用else块。我有99%的把握我没有在"New Project:"这一点上犯拼写错误,我不确定我在这里做错了什么,所以如果有人知道哪里错了,那将是一个很大的帮助
if(event.getTarget() == newProjectButton1){
if(newProjectButton.getText() != "New Project:"){
System.out.println(newProjectButton.getText());//#1
mainSplitPane.getItems().set(1, projectLayout);
newProjectButton.setText(project.getProjectName());
}else{
projectLayout = project.initLayouts(loader, projectLayout, this);
mainSplitPane.getItems().set(1, projectLayout);
}
欢呼
!newProjectButton.getText().equals("New Project:")
应该做。
这里你比较的是引用相等性,但你想做的是值相等。
因此,equals()
将检查值,而==
将检查引用