Java 将一串数字拆分为长变量
我有一个字符串变量,我想把它分成3个变量Java 将一串数字拆分为长变量,java,spring-boot,Java,Spring Boot,我有一个字符串变量,我想把它分成3个变量 String = "2,3,4"; Long one = Long two = Long three = 我试着把它们分成三个长变量。基本上,我只想将字符串解析为三个长变量 String = "2,3,4"; Long one = Long two = Long three = 只是想知道我该怎么做? 我不想把它们列入清单。 非常感谢您的帮助。是的,您可以,首先使用split方法将字符串拆分为,(逗
String = "2,3,4";
Long one =
Long two =
Long three =
我试着把它们分成三个长变量。基本上,我只想将字符串解析为三个长变量
String = "2,3,4";
Long one =
Long two =
Long three =
只是想知道我该怎么做?
我不想把它们列入清单。
非常感谢您的帮助。是的,您可以,首先使用
split
方法将字符串拆分为,(逗号),这将返回一个字符串数组,然后通过将元素键入long
来访问数组索引
String s = "2,3,4";
String [] splitS = s.split(",");
long nr = Long.parseLong(splitS[0]);
long nrTwo = Long.parseLong(splitS[1]);
long nrThree = Long.parseLong(splitS[2]);
或者,如果您不知道s
将包含多少元素,那么应该创建一个长元素列表
List<Long> longNumbers = new ArrayList<>();
你需要一个长列表
List<Long> longs = new ArrayList<>();
只需使用
java.util.Scanner
(“一个可以解析原语类型的简单文本扫描器”)
如果缺少一个数字,它将抛出NoTouchElementException
如果其中一个格式无效,InputMismatchException
方法hasNextLong()
可用于检查是否存在可用的井格式long
,并且next()
可用于读取该值(忽略该值或在错误消息中使用)
有关详细信息,请联系官方
注1:我使用了long
(基本类型),但应该使用long
(包装对象,如果需要)注2:要忽略逗号前后的空格,请使用分隔符,如
…useDelimiter(“\\s*,\\s*”)
使用流:
List<Long> longNumbers = List.of( "2,3,4".split( "," ) ).stream().map( num -> Long.parseLong( num ) ).collect( toList() );
longNumbers.get(0)
longNumbers.get(1)
longNumbers.get(2)
List longNumbers=List.of(“2,3,4”).split(“,”).stream().map(num->Long.parseLong(num)).collect(toList());
longNumbers.get(0)
longNumbers.get(1)
longNumbers.get(2)
String[]parts=“2,3,4”。拆分(“,”
),然后使用parts[0]
、parts[1]
等,并使用Long将它们解析为Long
。parseLong
使用var sc=新扫描仪(字符串)中的扫描仪。使用分隔符(“,”
和sc.nextLong()
读取每个Long
值“我不想把它们放在列表中”,所以我更喜欢Pattern.compile(“,”).splitAsStream(“2,3,4”).mapToLong(Long::parseLong.toArray();
((或者至少Arrays.stream(“2,3,4”).split(“,”)。
不需要列表来创建数组流))
List<Long> longNumbers = List.of( "2,3,4".split( "," ) ).stream().map( num -> Long.parseLong( num ) ).collect( toList() );
longNumbers.get(0)
longNumbers.get(1)
longNumbers.get(2)