数组越界和空指针问题

文章讨论了Java编程中常见的两个问题:数组下标越界异常和equals方法的使用。当尝试访问超出数组长度的索引时,会抛出ArrayIndexOutOfBoundsException。在使用equals比较字符串时,为了避免NullPointerException,应将非null的字符串放在前面。
摘要由CSDN通过智能技术生成

1、数组越界问题

数组下标越界,在很多初学者来看是出错了,其实准确来说是异常,就是一种特殊情况。
数组在声明的时候我们都会给定一个长度,那么我们在给这个数组赋值的时候,就最多能赋数组对应长度的值,如果超过这个长度,就会出现数组下标越界异常。如:
//赋给arr 数组 2个长度的空间
int [] arr = new int[2];
//数组的下标是从0 开始,最多可以给到arr[1] 赋值
arr[0]=1;
arr[1]=2;
arr[2]=3;
for(int i=0;i<arr.length;i++){
System.out.println(arr[i]);
}
如果给数组赋的值多了的话,编译是没问题的,但是运行的时候就会出现数组下标越界异常,如:Exception in thread “main” java.lang.ArrayIndexOutOfBoundsException: 2
当我们看到 ArrayIndexOutOfBoundsException 这个的时候,就检查自己程序中数组的地方就可以了。

2、equals

作为java的初学者开始的时候都会更多时候遇到一个异常:NullPointerException【空指针异常】,出现这个异常的情况非常多。这里说一下我今天遇到的一个。
当我们使用基本数据类型进行比较的时候,直接使用双等号即可,但是当我们对字符串内容进行比较的时候,就需要使用equals了,一下是代码案例:
String str=null;if(str.equals(“男”)){ System.out.println(“这是一个男生”);}
String str=null;if(“男”.equals(str)){ System.out.println(“这是一个男生”);}
上面有两段代码,第一段就容易出现空指针异常的情况,因为我们是将str为null的内容放在前面,用null去比较其他内容,都是null。而第二段代码呢,就会正常的执行。在我们操作的过程中,将确定有值的变量放在前面,不一定有值的内容作为equals()的参数,就一定程度上避免了空指针情况的出现

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

倚梦天团

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值