在Java中,charAt()
方法用于返回字符串中指定索引处的字符。但是,如果索引超出了字符串的范围,该方法将抛出IndexOutOfBoundsException
异常。以下是一些关于charAt()
方法的边界情况:
- 当字符串为空时(
""
),调用charAt(0)
会抛出IndexOutOfBoundsException
异常,因为字符串中没有任何字符。
String str = ""; System.out.println(str.charAt(0)); // 抛出异常
- 当索引值为负数时,
charAt()
方法也会抛出IndexOutOfBoundsException
异常。
String str = "Hello"; System.out.println(str.charAt(-1)); // 抛出异常
- 当索引值等于字符串的长度时,
charAt()
方法会抛出IndexOutOfBoundsException
异常。因为字符串的有效索引范围是从0到length() - 1
。
String str = "Hello"; System.out.println(str.charAt(str.length())); // 抛出异常
为了避免这些边界情况,你可以在调用charAt()
方法之前检查索引值和字符串的长度。例如:
String str = "Hello"; int index = 2; if (index >= 0 && index < str.length()) { System.out.println(str.charAt(index)); // 输出 'l' } else { System.out.println("索引超出范围"); }