关于变量类型

[code="java"]<%

if(answer.get(0)!=null){
int i;
double a;
String b = (String)beginnum.get(0);//先将对象转换为字符串
String l = (String)length.get(0);
String v = (String)value.get(0);
String t = (String)type.get(0);
int bb = Integer.parseInt(b);//然后将字符串转换为int
int ll = Integer.parseInt(l);
int vv = Integer.parseInt(v);
out.print(t);
out.print("
您的答案是:
");
[color=red]if(t=="ke"){[/color] for(i=bb;i<(ll+1);i++){

    //out.print(" "+i+". ");
    String ansn = "t"+i+"";
    //out.print(ansn);
    if(session.getAttribute(""+ansn+"")!=null){
        out.print((String)session.getAttribute(""+ansn+""));
    }
    String insert="<select name='part0'>";
    for(a=0;a<vv+0.5;a=a+0.5){
        //out.print(a);
        insert=insert + "<option value='"+a+"'>"+a+"</option>";
    }
    insert= insert+"</select>";
    out.print(insert);
    out.print("<br>");
    }

}
}
%>[/code]

其中[color=red]if(t=="ke"){[/color]的值为否
但我out.print(t),输出的是ke
我如果写if(t="ke"),错误提示,无法将字符串赋予布朗型,请问我这个t声明的是字符串,输出的也是ke,为什么 在我这段程序中,if(t=="ke")得到的确是否呢
[b]问题补充:[/b]
兄弟你的方法是对的,但我还想知道,我出错的原因,希望你能指点下
[b]问题补充:[/b]
我的基础太差了,现在老让我加班,也没时间学习,天天下班到家10点才吃晚饭,过几天我准备辞职回家先把基础学好了。谢谢各位了

6个回答

String在Java中被定义成了对象,而不是基本数据类型.
Java中对象的比较要通过equals()和hashcode()方法来进行.
具体的继续 LZ看下面
[quote] 解析Java对象的equals()和hashCode()的使用
http://blog.csdn.net/RichardSundusky/archive/2007/02/12/1508028.aspx[/quote]

看明白了好好理解下,这个东东面试问的多. :D

比较字符串用equals 方法

"ke".equals(t);

[quote]]if(t=="ke")[/quote]

字符串 要用equal()来判断,这个也太....

应该这么写,string类型也是对象,你要比较是字符串的内容是否相等,
而不是对象本身的引用是否相等
[color=red]if("ke".equals(t))[/color]

[quote]其中if(t=="ke"){的值为否 [/quote]
类的引用比较要用equals ==只是比较基本类型(int等),而"ke"是String 是类
例如:ke.equals(t)

[quote]但我out.print(t),输出的是ke [/quote]
这没问题,字符串t输出内容是什么就是什么了..
[quote]我如果写if(t="ke"),错误提示,无法将字符串赋予布朗型,请问我这个t声明的是字符串,输出的也是ke,为什么 在我这段程序中,if(t=="ke")得到的确是否呢 [/quote]
if()里面是布尔弄...这么写t="ke"相当于if()里是String,所以报这个错..
还是那句..字符串比较的是引用,所以要用String的equals方法

ke 是字符串是对象,
"ke" == t 是在比较两个对象的内存地址 ,他们肯定不一样啊.

比较字符串用 equals

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐