比较好奇,foreach循环后面 byte[] b=s.getBytes(); for(byte bt:b){ if(bt=='a'){ num++; } 这儿的if后面这两个比较为什么是相等的。。指向相同的地址吗 还是。。但是‘a’又是单引号,比较的是基本类型,虽然是相互转换的,感觉类型不同,意思是值相同吗?
对于基本数据类型(int, double, byte,......),使用“==”比较的是它们的值;
而对于复合数据类型(类)的对象,使用“==”比较的是它们的地址/引用。
恕我不能懂for为什么要这样写...
java里 ==比对的是仅仅是 对象
具体详见:http://www.cnblogs.com/zhxhdean/archive/2011/03/25/1995431.html