Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/324.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将字符串解析为对象_Java_String_Parsing_Split - Fatal编程技术网

Java 将字符串解析为对象

Java 将字符串解析为对象,java,string,parsing,split,Java,String,Parsing,Split,我无法将字符串解析为对象。 我希望能够获取一个字符串,比如:“johnsmith1234”,并将其解析为Person对象(Person(String,String,int)) 为此,我首先尝试将字符串转换为字符串[],并在空格处拆分。 我不明白为什么这不起作用-我试着只测试方法的这一部分,结果得到了:[Ljava.lang.String;@1aa8c488 这是我的密码: public static Person parseToPerson(String s) { String firs

我无法将字符串解析为对象。 我希望能够获取一个字符串,比如:“johnsmith1234”,并将其解析为Person对象(Person(String,String,int))

为此,我首先尝试将字符串转换为字符串[],并在空格处拆分。 我不明白为什么这不起作用-我试着只测试方法的这一部分,结果得到了:[Ljava.lang.String;@1aa8c488

这是我的密码:

public static Person parseToPerson(String s) {
    String first = "";
String last = "";
String ID = "";
String[] splitArray = s.split("\\s+");
splitArray[0] = first;
splitArray[1] = last;
splitArray[2] = ID;
System.out.println(splitArray);
return new Person(first, last, Integer.parseInt(ID));
}
谢谢大家!

我不明白为什么这不起作用

你应该交换你的作业:

first = splitArray[0];
last = splitArray[1];
ID = splitArray[2];

我试着只测试方法的这一部分,结果是: [Ljava.lang.String;@1aa8c488

由于
splitArray
是一个数组,因此可以看到数组本身的字符串表示,而不是数组的内容。请使用:

我不明白为什么这不起作用

你应该交换你的作业:

first = splitArray[0];
last = splitArray[1];
ID = splitArray[2];

我试着只测试方法的这一部分,结果是: [Ljava.lang.String;@1aa8c488

由于
splitArray
是一个数组,因此可以看到数组本身的字符串表示,而不是数组的内容。请使用:


看起来你已经交换了作业。试试这个

first = splitArray[0];
last = splitArray[1];
ID = splitArray[2];
您没有得到想要的输出,因为您应该使用
array.toString(splitArray)
来输出数组:

import java.util.Arrays;

System.out.println(Arrays.toString(splitArray));

看起来你已经交换了作业。试试这个

first = splitArray[0];
last = splitArray[1];
ID = splitArray[2];
您没有得到想要的输出,因为您应该使用
array.toString(splitArray)
来输出数组:

import java.util.Arrays;

System.out.println(Arrays.toString(splitArray));
像这样

public static Person parseToPerson(String s) {
    String first = "";
    String last = "";
    String ID = "";
    String[] splitArray = s.split("\\s+");
    first = splitArray[0];
    last = splitArray[1];
    ID = splitArray[2];
    System.out.println(splitArray);
    return new Person(first,last, Integer.parseInt(ID));
}
像这样

public static Person parseToPerson(String s) {
    String first = "";
    String last = "";
    String ID = "";
    String[] splitArray = s.split("\\s+");
    first = splitArray[0];
    last = splitArray[1];
    ID = splitArray[2];
    System.out.println(splitArray);
    return new Person(first,last, Integer.parseInt(ID));
}