JTextPassword中的getText()方法过时的问题

本文介绍了JPasswordField组件中getText()方法的过时原因及其替代方案getPassword()。详细解释了为何不能直接使用equals方法来比较getPassword()返回的char[]数组,并提供了两种正确的转换为String的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

JPasswordField 的getText()方法 已经过时, 不建议使用。

用getPassword() 代替,返回char[]数组类型.因为是char[]类型的equals方法来自最原始的Object类, 其相当于"=="(比较两者的地址是否一致),永远都不会相等!

因而在我们遇到字符数组类型时,不能用equals方法来比较.应该把char[] 类型转化为String类型(因为String类型的equals被String类重写过,表示对比两者的内容是否相等).

char[]数组转变成String类型有两种方法:

方法1:

pswTextField.getPassword().toString()

错误!

原因是这里调用的还是Object的toString()方法。

方法2:

String.valueOf( pswTextField.getPassword())  

正确!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值