java字符串数组赋值给字符串
Stringloadid=newString();Stringpass=newString();for(intq=0;q<=1;q++){if(loadid==name[...
String loadid=new String();
String pass=new String();
for(int q=0;q<=1;q++){
if(loadid==name[q]){
pass=password[q];
}
}
明明判断正确,可是pass为空,难道不能这样赋值? 展开
String pass=new String();
for(int q=0;q<=1;q++){
if(loadid==name[q]){
pass=password[q];
}
}
明明判断正确,可是pass为空,难道不能这样赋值? 展开
4个回答
展开全部
你要认真看下
password
是不是
String [] password=XXXX;
也就是说要看下password是不是字符串数组对象,并且对应的字符串对象是否是空。
pass是空,只能说明password相对应的那个字符串对象为空
你只放其中一段代码,不能看出真正的问题在哪,
另外
字符串对象判断内容是否相等 ==和用equals方法是不一样,很有可能是你条件不成立
==一般是用来比较引用的内存地址,而equals 才是比较内容
if(loadid==name[q])
不成立,当然pass也是空字符串
password
是不是
String [] password=XXXX;
也就是说要看下password是不是字符串数组对象,并且对应的字符串对象是否是空。
pass是空,只能说明password相对应的那个字符串对象为空
你只放其中一段代码,不能看出真正的问题在哪,
另外
字符串对象判断内容是否相等 ==和用equals方法是不一样,很有可能是你条件不成立
==一般是用来比较引用的内存地址,而equals 才是比较内容
if(loadid==name[q])
不成立,当然pass也是空字符串
展开全部
字符串判定应该用loadid.equale(name[q])(其中name[q]是字符串)不能用这个“==”。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1、字符串数组不能直接赋值给字符串引用,类型不一致,编译不通过
2、可以for循环遍历字符串数组
3、创建一个StringBuilder或者StringBuffer来存放数组值
4、最后调用StringBuilder.toString()方法,将只赋值给字符串即可。
示例:
String[] array = new String[]{"123","1234"};
StringBuilder sb = new StringBuilder();
for(int i=0;i<array.length;i++){
sb.append(array[i]);
}
String str = sb.toString();
2、可以for循环遍历字符串数组
3、创建一个StringBuilder或者StringBuffer来存放数组值
4、最后调用StringBuilder.toString()方法,将只赋值给字符串即可。
示例:
String[] array = new String[]{"123","1234"};
StringBuilder sb = new StringBuilder();
for(int i=0;i<array.length;i++){
sb.append(array[i]);
}
String str = sb.toString();
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你这个。。
肯定是 if(loadid==name[q])的时候 不相等,所以不会进入if里面。
肯定是 if(loadid==name[q])的时候 不相等,所以不会进入if里面。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询