首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ItemListener打印双输出

ItemListener打印双输出
EN

Stack Overflow用户
提问于 2015-01-24 22:30:39
回答 1查看 80关注 0票数 2
代码语言:javascript
复制
jbox.addItemListener(new ItemListener() {
        @Override
        public void itemStateChanged(ItemEvent e) {
            for (int x = 0; x < string.length; x++) {
                if (jbox.getSelectedItem() == string[x]) {
                    System.out.println(string[x]);
                }}}});

当我运行此命令时,它会打印两次。我做错了什么?(为我糟糕的英语道歉)

EN

回答 1

Stack Overflow用户

发布于 2015-01-24 22:33:28

ItemListener将跳转两次,因为一个项目被取消选择,而另一个项目被选中。考虑使用ActionListener。

但是请注意,您不应该使用==!=比较字符串。请改用equals(...)equalsIgnoreCase(...)方法。要知道,==会检查这两个对象是否相同,而这不是您感兴趣的。另一方面,这些方法检查两个字符串是否具有相同顺序的相同字符,这才是关键所在。因此,不是

代码语言:javascript
复制
if (jbox.getSelectedItem() == string[x]) {

代码语言:javascript
复制
if (jbox.getSelectedItem().equals(string[x])) {
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28126548

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档