我刚刚开始学习Java。在我关注的在线课程中,我被要求尝试以下代码:
String email1 = "[email protected] /cdn-cgi/l/email-protection";
String email2 = "[email protected] /cdn-cgi/l/email-protection";
Boolean isMatch = false;
isMatch = email1.equals (email2);
if (isMatch == true){
System.out.println("Emails match");
}
else{
System.out.println("Emails don't match");
}
我不明白为什么要求我声明isMatch
当我在下一行比较电子邮件地址并将值分配给时为 falseisMatch
.
我尝试过以下代码,它的工作原理似乎是一样的:
String email1 = "[email protected] /cdn-cgi/l/email-protection";
String email2 = "[email protected] /cdn-cgi/l/email-protection";
Boolean isMatch;
isMatch = email1.equals (email2);
if (isMatch == true){
System.out.println("Emails match");
}
else{
System.out.println("Emails don't match");
}
在课程上它没有解释为什么我要声明isMatch
首先为假。我是否有必须声明的理由isMatch
在比较电子邮件地址之前是否为 false?
不仅不需要将其声明为false
首先,我会添加一些其他改进:
use boolean
代替Boolean
(也可以是null
没原因)
-
声明期间赋值:
boolean isMatch = email1.equals(email2);
-
...并使用final
如果可以的话,关键字:
final boolean isMatch = email1.equals(email2);
最后但并非最不重要的:
if (isMatch == true)
可以表示为:
if (isMatch)
这使得isMatch
标志没那么有用,内联它可能不会损害可读性。我建议寻找一些更好的课程/教程......
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)