假设有一个包含多个JButton组件的JPanel,并且这些JButton组件共享同一个ActionListener实例。若在ActionListener的actionPerformed方法中,需要精确判断是哪个JButton触发了该事件,并基于此执行不同的逻辑,以下哪种实现方式最高效且符合Java最佳实践?

答案解析

选项A的错误之处在于,使用instanceof进行类型判断并根据文本进行匹配不够高效,且依赖按钮文本容易出错,应该避免。选项C虽然可以实现功能,但是额外的HashMap维护开销较大,不够高效。选项D使用hashCode()判断是不可靠的,不同的对象可能具有相同的哈希值。选项B利用setActionCommand()设置不同的命令字符串,然后在ActionListener中通过getActionCommand()获取,这种方式是推荐的做法,清晰且高效,易于扩展和维护,符合Java最佳实践。所以B为最优解。
正确答案:B
随机推荐
开始刷题