java小问题,改错.

来源:百度知道 编辑:UC知道 时间:2024/06/06 16:24:09
(0)String temp;
..
..
(1)temp=rs.getString("Temp");
(2)System.out.println("!!"+temp);
(3)if(sno.equals(tfd1.getText().trim()))
{
(4)System.out.println("-----"+temp);
(5)if(temp=="yes")
{
(6)System.out.println("YYYYYYYYYY");

这是部份的程序,temp是从数据库中表的"Temp"项得到的,并在第(2)句中测中该值为yes,第(3)句条件成功进入,并在第(4)句中测出此时temp值仍是yes,但却进不了第(5)句的条件,也打不出"YYYYYY..",请问这是怎么回事?我觉得一定是temp=="yes"这句出了问题,但是什么问题呢?帮忙改正一下,急!..

楼主应该写成
temp.equals("yes");
因为if(temp=="yes") 的时候,temp的内容虽然是"yes"但是和等号后面的"yes"不一样,两个是不同的字符串对象,内存是不一样的。所以两个是不相等的

temp.equals("yes")

晕了,chelin_kaka怎么总比你慢一点呢 呵呵