我一直在尝试在条件中使用按钮的名称,在以下情况下检查从.getText()
生成的字符串是否等于“ New Project:”,但是每次我尝试运行此代码时总是给我一个不等于“ New Project:”的结果,这是它的起始值,并运行第一个块。即使在#1处打印此字符串的值,我也已复制并粘贴了从中打印出的值,但它不起作用。我还通过用newProjectButton.getText()
替换“ New Project”来证明,但这使该语句始终使用else块。我99%的确定我没有在“新项目:”上犯过拼写错误,而且我不确定自己在这里做错了什么,因此如果有人知道做错了什么,那将是一个很大的帮助
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()
将检查值,而==
将检查引用。