课程
/后端开发
/Java
/Java入门第三季
if语句中为什么错误?
2017-06-27
源自:Java入门第三季 2-4
正在回答
equals()方法本身返回的就是一个boolean类型的值,即true和false 。你的if里面就等价于a[i]==true或者a[i]==false 这本身就是错误的.
代码里有两个问题:
1, for 语句中的i 应该赋初值为0 应写成 int i = 0;
2, 在java里要获取一个char , 得用s.charAt(i) 语句, python 可以用s[i] ; 而且char之间比较得用==, 不能用.equals 应写成 s.charAt(i)=='a'
equals()方法
比较的是对象的引用是否指向同一块内存地址。
可以通过重写来实现比较两个对象的值是否相同。
“==”用来比较引用数据类型时,也是比较内存地址。
需要注意的是:因为在String、Double等封装类中,已经重载(overriding)了Object类的equals()方法,是进行内容的比较。
你这个s变量是字符串吧?字符串取每个字符可以用s.charAt(i)=='a'这样来判断。charAt()返回的是char类型,用==比较
s[i].equals('a') ,不要双等号
int i 没有赋初始值
直接 s[i].equals('a') 不需要 s[i] == xxx
举报
Java中你必须懂得常用技能,不容错过的精彩,快来加入吧
2 回答为什么不能用getBytes()判断字符是否相同???
3 回答为什么判断ID是否被占用不用equals??
2 回答判断是否相同听不懂
4 回答为什么能在重写equals语句中用equals方法
2 回答我把上一章split用到这里面,变成字符串了,就可以用equals比较了,但是我if中的语句执行了,else语句块为什么也执行了?