`
weixl
  • 浏览: 22979 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

关于java中split(".")后数组越界问题

阅读更多
     String str = "123.123";
     String[] arr = str.split("\\.");
     System.out.println(arr[0]);

     若第二行String[] arr = str.split("."); 则数组越界,程序终止。
      . 号需要转义,看看jdk源码知道String 的split方法如下:
  public String[] split(String regex) {
        return split(regex, 0);
    }
  public String[] split(String regex, int limit) {
return Pattern.compile(regex).split(this, limit);
  }
    调用了正则表达式, "." 号在正则表达式中时 全字符匹配的意思.......
    所以java中经常会出现split(".")[0]后数组越界的问题了。
分享到:
评论

相关推荐

    JAVA 数组与字符串课程文档

    Java中的数组和字符串是编程中基础且重要的概念,它们在许多场景中都有广泛的应用。数组是一种数据结构,它能够存储相同...在实际编程中,还需要注意数组越界、字符串操作性能优化等问题,以确保程序的正确性和效率。

    java 中用split分割字符串,最后的空格等不被拆分的方法

    在Java编程语言中,`split()` 是一个非常实用的字符串方法,它允许我们将字符串按照指定的分隔符进行拆分。然而,在某些情况下,当分隔符是空格或者制表符(\t),并且字符串末尾有连续的空格或制表符时,`split()` ...

    java中截取带汉字的字符串

    2. **边界条件处理**:当字符串长度小于或等于指定的字节数时,需要特别处理,避免数组越界等异常。 3. **性能考虑**:对于非常大的字符串,频繁调用`substring`方法可能会导致性能下降,可以考虑优化算法减少不必要...

    读出PGM图像

    以下是一些关于如何在Java中读取PGM图像的关键知识点: 1. **PGM格式**:PGM文件分为两种类型,P2(ASCII格式)和P5(二进制格式)。P2是文本格式,图像数据以十进制形式存储;P5是二进制格式,数据以字节流存储,...

    java对字符串相关操作.doc

    - **获取第一个字符**:字符串在Java中被视为字符数组,可以通过索引访问,如`System.out.println(s.charAt(0))`。注意,索引从0开始。 - **获取最后一个字符**:同样通过索引访问,但要注意不要越界,如`System....

    Java面试宝典2022版(超长版).docx

    - **多个类**: 在一个`.java`源文件中可以包含多个类,但只能有一个公共类(public class),并且文件名必须与该公共类名一致。 - **限制**: 如果源文件包含了一个公共类,则该文件中不能包含其他公共类。非公共类...

    java基础编码 可下载学习参考

    然而,在第二种方法中,由于`split()`方法返回的数组索引是从0开始的,因此在遍历时应该使用`str[i-1]`而不是`str[i]`,否则会导致数组越界错误。 以上便是对给定文件中提及的“杨辉三角”和“字符串反转”知识点的...

    Java面试宝典2018

    - **运行时异常**:通常是由于编程错误导致的异常,如空指针异常、数组索引越界等。 - **一般异常**:通常由程序的运行环境引起的异常,如IO异常等。 #### 42. error和exception有什么区别? - **Error**:表示系统...

    java 面试题

    在一个`.java`源文件中可以定义多个类,但这些类中只能有一个公共(public)类,并且该公共类的名字必须与文件名相同。其余的类必须声明为私有(private)或者默认访问级别(即不加任何访问修饰符)。例如,如果文件...

    java面试题

    - **运行时异常**通常是由于编程错误导致的,例如数组越界、空指针等。 - **一般异常**是指程序运行中可能出现的问题,例如文件不存在等。 #### 42. error和exception有什么区别? - **Error**表示程序无法处理的...

    Java面试宝典2013最新版.doc

    - **运行时异常**:通常是由于程序错误导致的,比如数组越界、空指针异常等。 - **一般异常**:通常由系统资源不足等原因引起,需要通过异常处理机制处理。 #### 42. error 和 exception 的区别 - `error` 表示系统...

    java葵花宝典

    - **`ArrayIndexOutOfBoundsException`**:数组索引越界异常。 - **`ClassCastException`**:类型转换异常。 - **`NumberFormatException`**:数字格式异常。 - **`IllegalArgumentException`**:非法参数异常。 ##...

    2021-2022计算机二级等级考试试题及答案No.5166.docx

    18. Java特性:Java是一种强类型语言,与平台无关,但Java编译器会检查数组下标越界。 19. 服务器IP地址:`Local_Addr` 环境变量可以获取服务器的IP地址。 20. JFrame类:在Java Swing中,创建框架窗口通常使用...

    Java面试宝典2014版

    - **运行时异常**:通常是编程错误导致的异常,例如数组越界、空指针异常等。 - **一般异常**:程序运行过程中可能出现的异常,如文件找不到、网络问题等。 #### 42. `error`与`exception`的区别 - **`error`**:...

    java面试资料大全(非常全面)

    - `ArrayIndexOutOfBoundsException`:数组索引越界异常。 - `IllegalArgumentException`:非法参数异常。 - `ClassCastException`:类型转换异常。 - `ArithmeticException`:算术异常。 43. **线程的基本概念...

    2021-2022计算机二级等级考试试题及答案No.9867.docx

    1. 程序片段是关于Java的字符串操作,`str.split("c")`会将字符串按"c"切割成多个子字符串,并放入数组arr中。由于原字符串中有3个"c",所以会生成4个分割后的子串,因此arr.length为4,正确答案是C。 2. 实体产品...

    Java面试宝典2011版

    《Java面试宝典2011版》涵盖了Java面试中常见的各类问题,旨在帮助求职者深入理解Java语言的核心概念及编程技巧。以下是对文件中提到的一些关键知识点的详细解析: ### 1. Java源文件中类的数量限制 在一个`.java`...

Global site tag (gtag.js) - Google Analytics