视频: Java和Python的比较,哪个更有前途? 2024
当您开始使用Java中的对象时,您会发现可以使用==和! =比较对象。例如,您在计算机屏幕上看到的按钮是一个对象。你可以问,只是鼠标点击的东西是一个特定的按钮在屏幕上。您可以使用Java的相等运算符来执行此操作如果(例如getSource()== bCopy){剪贴板。 setText(which。getText());
当比较两个字符串时,Java比较方案的大问题就来了。当你比较两个字符串,你不想使用双等号。使用双等号会问:“这个字符串与其他字符串存储在内存中的完全相同的地方吗? “通常,这不是你想问的。
<! --1 - >
相反,你通常会问:“这个字符串和其他字符串有相同的字符吗? “问第二个问题(更合适的问题)Java的String类型有一个名为equals的方法。 (与已知Universe中的所有其他方法一样,这个equals方法在Java API中定义,简称为应用程序编程接口。) equals方法比较两个字符串,看它们是否具有相同的字符。有关使用Java的equals方法的示例,请参阅此代码清单。 (该图显示了程序在列表中的运行。)
import static java。郎。系统。 *;导入java。 UTIL。扫描器;公共类CheckPassword {公共静态无效的主要(字符串参数[]){出。打印(“什么是密码?”);扫描仪键盘=新扫描仪(在);字符串密码=键盘。下一个();出。 println(“你输入>>”+密码+“<<”);出。的println();如果(密码==“箭鱼”){out。 println(“你输入的单词存储”);出。 println(“与真实在同一个地方”);出。 println(“密码。你必须是”);出。 println(“黑客”);} else {out。 println(“你输入的单词不是”);出。 println(“存放在同一个地方”);出。 println(“真正的密码,但那是”);出。 println(“没什么大不了的。”);}出来。的println();如果(密码。等于(“剑鱼”)){出。 println(“你输入的单词有”);出。 println(“与真实相同的字符”);出。 println(“密码。你可以用我们的”);出。 println(“宝贵的系统”);} else {out。 println(“你输入的单词不是”);出。 println(“与”具有相同的字符);出。 println(“真正的密码,你不能”);出。 println(“使用我们的宝贵系统”);}键盘。 close();}}
在列表中,调用键盘。 next()获取用户在计算机键盘上键入的任何单词。代码将这个单词推入名为密码的变量中。然后,程序的if语句使用两种不同的技术将密码与“箭鱼”进行比较。
这两种技术更适合使用Java的equals方法。 equals方法看起来很有趣,因为当你调用它的时候,你在一个字符串之后放一个点,并把另一个字符串放在括号中。但这是你必须这样做的方式。 在调用Java的equals方法时,哪个字符串获得圆点并获得圆括号并不重要。例如,在列表中,你可以写成 if(“swordfish”。equals(password))
这个方法也可以。
这两个对象都是String类型。 (但是,password是一个String类型的变量,而“swordfish”是一个String文字)。当你写密码。等于(“剑鱼”),你正在调用一个属于密码对象的equals方法。当你调用这个方法的时候,你正在给这个方法提供“箭鱼”作为方法的参数(双关意图)。
在比较字符串时,使用equals方法 - 而不是双等号。