如何使用数组从Java中的一行创建多个字符串和整数值?
我试图用Java阅读这一行——“abc:300:xyz:def”,我真的不确定如何使用数组来实现这一点,因为在数组格式中是这样的:[“abc:300:xyz:def”]。我从如何使用数组从Java中的一行创建多个字符串和整数值?,java,arrays,Java,Arrays,我试图用Java阅读这一行——“abc:300:xyz:def”,我真的不确定如何使用数组来实现这一点,因为在数组格式中是这样的:[“abc:300:xyz:def”]。我从 ArrayList<String> list = new ArrayList<String>(); list.add("abc"); list.add("300"); list.add("xyz"); list.add("def"); 在某个地方,因为如果是这样的话,那会是在我初始化ArrayLi
ArrayList<String> list = new ArrayList<String>();
list.add("abc");
list.add("300");
list.add("xyz");
list.add("def");
在某个地方,因为如果是这样的话,那会是在我初始化ArrayList之后吗?
任何帮助都将不胜感激 这样做:
String line = "abc:300:xyz:def";
List<String> list = Arrays.asList(line.split(":"));
String line=“abc:300:xyz:def”;
List List=Arrays.asList(第.split行(“:”);
现在您有了一个包含4个字符串的列表。执行以下操作:
String line = "abc:300:xyz:def";
List<String> list = Arrays.asList(line.split(":"));
String line=“abc:300:xyz:def”;
List List=Arrays.asList(第.split行(“:”);
现在,您有了一个包含4个字符串的列表。如果您必须从控制台读取一行,您可以尝试以下方法
Scanner scanner = new Scanner(System.in);
String yourString = scanner.next();
StringTokenizer st = new StringTokenizer(yourString , ":");
while (st.hasMoreElements()) {
System.out.println(st.nextElement());
}
如果您必须从控制台读取一行代码,您可以尝试这样的方法
Scanner scanner = new Scanner(System.in);
String yourString = scanner.next();
StringTokenizer st = new StringTokenizer(yourString , ":");
while (st.hasMoreElements()) {
System.out.println(st.nextElement());
}
要加入项目,请使用
String.join
ArrayList<String> list = new ArrayList<>();
list.add("abc");
list.add("300");
list.add("xyz");
list.add("def");
String str = String.join(":", list);
要加入项目,请使用
String.join
ArrayList<String> list = new ArrayList<>();
list.add("abc");
list.add("300");
list.add("xyz");
list.add("def");
String str = String.join(":", list);
如果只查看数组而不是arraylist,则可以使用字符串中的split方法
String line = "abc:300:xyz:def";
String[] stringArray = line.split(":");
如果只查看数组而不是arraylist,则可以使用字符串中的split方法
String line = "abc:300:xyz:def";
String[] stringArray = line.split(":");
发布的代码与问题不匹配。。。请澄清。
String s=scanner.nextLine();ArrayList words=newArrayList(Arrays.asList(s.split(':'))代码>这就是你想要的吗?请明确你是在读一行还是在创建一行。@ElliottFrisch将其更新为“创建一行!”@BilltheLizard更新它说创建一行,我不知道我打错了。发布的代码与问题不匹配。。。请澄清。String s=scanner.nextLine();ArrayList words=newArrayList(Arrays.asList(s.split(':'))代码>这就是你想要的吗?请明确你是在读一行还是在创建一行。@ElliottFrisch将其更新为“创建一行!”@BilltheLizard更新了它,说创建一行,我不知道我打错了。嗯,我想OP还是有点不清楚他们想要做什么。那么这里根本不使用数组吗?(我真的是个新手,所以如果我问了一些显而易见的问题,我很抱歉)。使用数组line.split(“:”)实际上返回一个数组,但我立即调用.toList()
,它将数组转换为List@Aenadon数组中没有toList()
方法。应该使用Arrays.asList(line.split(“:”)
。@Bubletan我想我是&39;因为我今天在groovy中使用了.toList()
,所以我被困在groovy中。谢谢你的指点!嗯,我想OP对他们想做什么还不太清楚。那么这里根本不用数组吗?(我真的是个新手,所以如果我问了一些显而易见的问题,我很抱歉)。使用数组line.split(“:”)实际上返回一个数组,但我立即调用.toList()
,它将数组转换为List@Aenadon数组中没有toList()
方法。应该使用Arrays.asList(line.split(“:”)
。@Bubletan我想我是&39;我之所以坚持在groovy中,是因为我今天在groovy中使用了.toList()
。谢谢你的指点!我认为您需要在Arrays.asList(str.split(“:”)之前添加cast(ArrayList),但随后会出现一个错误,即list是一个重复变量。我认为您需要在Arrays.asList(str.split(“:”)之前添加cast(ArrayList),但随后会出现一个错误,即list是一个重复变量。