我有一个jcombobox(cmbcourse),它使用scanner类从文本文件中添加条目(“科学”、“心理学”、“法律”)。现在我想创建一个if语句,从组合框中获取所选项,但遇到了问题,应该是这样的:
if(cmbCourse.getSelectedItem() == Science) { ... }
我得到一个错误,说“科学”不能被分解成一个变量。如何访问来自文本文件的项目并将它们与组合框中的项目进行比较?
xqnpmsa81#
假设您正在向组合框添加字符串,getselecteditem应该返回一个字符串。但是,它将所述字符串作为对象返回。不管怎样,比较应该是有效的,很高兴知道。需要注意的是,在java中,字符串不能使用==进行正确比较,因为这是object equals。必须使用.equals()进行正确的字符串比较。此外,如果未选择任何内容,则执行空检查。
if( cmbCourse.getSelectedItem() != null && cmbCourse.getSelectedItem().equals( "Science" ) { // do stuff }
1条答案
按热度按时间xqnpmsa81#
假设您正在向组合框添加字符串,getselecteditem应该返回一个字符串。但是,它将所述字符串作为对象返回。不管怎样,比较应该是有效的,很高兴知道。
需要注意的是,在java中,字符串不能使用==进行正确比较,因为这是object equals。必须使用.equals()进行正确的字符串比较。此外,如果未选择任何内容,则执行空检查。