数组越界错误,但是数据类型和长度都是一样的

操作生成长度为五的数组,使用构造器放入数组的时候第二个元素报数组越界错误是为什么,构造器的参数列表和数组的类型和长度都是相同的


```java
    public static void main(String[] args) throws Exception{
        FileWriter fw=new FileWriter("data\\test.txt");
        fw.write("123,韩梅,22,女,高二");
        fw.close();
        BufferedReader br=new BufferedReader(new FileReader("data\\test.txt"));
        String s=br.readLine();
        String[] spilt=s.split(",");
        System.out.println(spilt[1]);
//        for (int i = 0; i <= spilt.length-1; i++) {
//            System.out.println("隔离后的数组 "+spilt[i]);
//        }
        System.out.println("读取的数据: "+ Arrays.toString(spilt));
        Student student=new Student(spilt[0],spilt[1],spilt[2],spilt[3],spilt[4]);
        String s1=student.toString();
        System.out.println("对象的数据:-----"+s1);
        br.close();
    }


 


![img](https://img-mid.csdnimg.cn/release/static/image/mid/ask/277699348156177.PNG "#left")

fw.write("123,韩梅,22,女,高二");这里你用的逗号是中文的全角字符
String[] spilt=s.split(",");这里的逗号是英文的半角字符,二者是不一样的,你看着随便改一个吧



```java
 
```java
    public static void main(String[] args) throws Exception{
        FileWriter fw=new FileWriter("data\\test.txt");
        fw.write("123,韩梅,22,女,高二");
        fw.close();
        BufferedReader br=new BufferedReader(new FileReader("data\\test.txt"));
        String s=br.readLine();
        String[] spilt=s.split(",");
        System.out.println(spilt[1]);
//        for (int i = 0; i <= spilt.length-1; i++) {
//            System.out.println("隔离后的数组 "+spilt[i]);
//        }
        System.out.println("读取的数据: "+ Arrays.toString(spilt));
        Student student=new Student(spilt[0],spilt[1],spilt[2],spilt[3],spilt[4]);
        String s1=student.toString();
        System.out.println("对象的数据:-----"+s1);
        br.close();
    }

```