Java中Stirng把数组下标和值互换和值的比较为什么先判断非空才可以

Java 字符串判断是否为空问题?
if(str=.equals("") || str= == null){//会抛出异常 "".equales(str);后置确保不会遇null报错。谁能帮我讲讲原理?
如果用if语句的话,先判断是否是nullif (str == null || str.equals(""))
程序会从左到右判断逻辑表达式,||符号链接的表达式如果第一项为真,就不用判断第二项了。这样可以避免null reference。第二种写法,equals的实现里边对null有特判。
楼上的童鞋们貌似没看清楚楼主的意思。楼主是问~【改写成
"".equals(str);
为什么就不会遇null报错?】你可以假设,如果str 是NULL, 他就不是一个字符串, NULL代表声明了一个空对象,根本就不是一个字符串。所以他就没有 equals() 这个方法,自然就报错了。而你写成 "".equals(str); 就不会有这个问题 ,因为 "" 是个字符串,有equals() 这个方法。
||运算符连接的两个表达式的运算顺序是从左至右
str为null呢……
|| 与 && 又称为 “短路运算符” 顾名思义,和电路中短路有着相似的效果。“表达式A || 表达式B”如果表达式A是true,那么不管表达式B是true 还是 false,都不会影响“表达式A || 表达式B” 的结果为true,因此,在JVM执行的时候,如果发现表达式A是true 那么 表达式B就不会得到执行,就像被“短路”一样。在这里 str == null || str.equals("") 如果str == null为true,那么 str.equals("")
就不会得到执行。同理:&& 也能短路当“表达式A && 表达式B”中表达式A为false的时候,不管表达式B的结果,最终结果还是false。短路运算符的目的是提高程序运行效率,如果希望后面的表达式总是能够得到执行,可以用 “|” 代替 “||” 用 “&” 代替 “&&”
已有帐号?
无法登录?
社交帐号登录Java 如何判断String为空?_百度知道java如何把Object中的数据转化为String数组
java如何把Object中的数据转化为String数组
一些数据存在LinkedList中
通过toArray()转化为了Object数组
再怎么弄成String的?
我用的强制转换有异常

orderString=(String[])orderLinkedList.toArray();

错误
java.lang.ClassCastException: [Ljava.lang.O
补充:希望二楼能详细说一下
谢谢了
就是在上面的语句前加orderString=new String[orderLinkedList.size()吗?
补充:你是三楼的
呵呵
用强制转换出错,我也是用循环实现的
不过我认为用强制转换也应该可以的啊
补充:还有什么问题呢
我又写了一个
同样的错误
请指点一下
for(int i=0;i&10;i++){
			l.add(i);
		}
		String[] ss=new String[l.size()];
		ss=(String[])l.toArray();
补充:为什么会有这种错误呢
已经通过了编译
执行的时候出现的错误
补充:问题不在这
		LinkedList l=new LinkedList();
		for(int i=0;i&10;i++){
			l.add(&hello&);
		}
		String[] ss=new String[l.size()];
		ss=(String[])l.toArray();
同样有错误
LinkedList中存的是Object对象
= = .......
Object [] objs=orderLinkedList.toArray();
String [] strs=new String[objs.length]
for(int i=0;i&objs.i++){

strs[i]=objs[i].toString();
}
的感言:这样可以的
十分感谢 满意答案
LinkedList llist=new LinkedList();
llist.add(&..&);
...
String[] str=new String[llist.size()];
llist.toArray(str);

这样Object[]数组就转到了String[]数组了,你可以去参考toArray()方法原型:

public synchronized &T& T[] toArray(T[] a) {

if (a.length & elementCount)

a = (T[])java.lang.reflect.Array.newInstance(

a.getClass().getComponentType(), elementCount);

	System.arraycopy(elementData, 0, a, 0, elementCount);


if (a.length & elementCount)

a[elementCount] =



}


的感言:谢谢 相关知识略懂社热议
其他回答 (2)
用循环一个个元素的转换
创建一个String数组,然后将Object数组中的元素转换成了String类型后再存放到String数组中去
使用数组前要先声明数据占据内存的空间
相关知识略懂社热议等待您来回答
编程领域专家
& &SOGOU - 京ICP证050897号为了账号安全,请及时绑定邮箱和手机
输入一个字符串,如何比较是否和数组中的某个字符串相等?
String[] books={"高数","论语"};//创建了一个数组保存字符串;Scanner input=new Scanner(System.in);String stringc=input.next();//定义字符串类型的输入//通过遍历比较
for(i=0;i&books.i++){
if(stringc==books[i]){
System.out.println("book:"+stringc);
if(exsit==0){
System.out.println("图书不存在!");
}这里的比较myeclipce里没办法用.equals
可以这么用么,但是实际跑起来的时候输入高数或者论语都提示图书不存在
写下你的评论...
写下你的评论...
写下你的评论...
写下你的评论...
写下你的评论...
写下你的评论...
Copyright (C)
All Rights Reserved | 京ICP备 号-2求教,java中怎么判断字符串数组中的某个字符为空_java吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:513,319贴子:
求教,java中怎么判断字符串数组中的某个字符为空收藏
大一新生,java作业,题目是遇到5就要当空格把字符串隔开,但是如果有连续两个5,那隔开就有空的字符串(不知道可不可以理解为空格);附图求教!
上海达内java培训,免费试学,名师面授,0基础4个月速成为java开发工程师,高薪就业!上海达内java培训,美国上市机构,「Java培训之父」Sun联合办学,先就业后付款!
作业啊,求教!
String 有个replace方法 replace(CharSequence target, CharSequence replacement)5换成“ 5”
贴吧拳王争霸赛中累计获取10场胜利,
sArray[y].equals("");
String有split方法
这么深奥的问题
直接用高级for做不就得了 搞这么麻烦int[] iArray = new int[m];for(int y: iArray){if(y==null){System.out.println("kao"); }System.out.println(y);}
登录百度帐号推荐应用
为兴趣而生,贴吧更懂你。或}

我要回帖

更多关于 js 判断是否为数组 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信