如题,字符串数组str['11111111111','22222222222']如同这样,希望转换成Long型或者long型的数组,有什么好方法吗(当然一个个循环也是可以的)
//定义字符串
String str = "1,3,6,9,4,2,1,6";
//截取字符串
String[] strArr = str.split(",");
//转换long类型的数组
long[] strArrNum = (long[]) ConvertUtils.convert(idsArr,long.class);
调用Long.parseLong()方法
有现成的Iterator interface嘛
循环然后将每一个值强制转换或者用java自带的方法
可以这样子进行转换:String[] yq1012= {"123", "234", "345"};
Long[] num = new Long[yq1012.length];
for (int idx = 0; idx < yq1012.length; idx++) {
num[idx] = Long.parseLong(yq1012[idx]);
}
这样就可以转换成long 类型的数组了。
public static void main(String[] args) {
String[] strAry = new String[5];
Long[] longAry= new Long[strAry.length];
for(int i = 0, len = strAry.length; i < len; i++){
longAry[i] = new Long(strAry[i]);//JDK 1.5以上用数字,以下用object
}
}
用Long.parseLong()将其强制转换,但要注意除掉里面的标点符号
java8 stream api了解下
String[] arr = new String[]{"11111111111", "22222222222"};
/*1.字符串数组转换为集合*/
List<Long> longList = Arrays.asList(arr)
//调用stream获得操作流
.stream()
//调用map将集合中的每个字符串装换为Long类型
.map(Long::parseLong)
//收约成一个Long类型集合
.collect(Collectors.toList());
//集合转换为数组
Long[] longArr = longList.toArray(new Long[]{});
System.out.println(Arrays.toString(longArr));
今天项目前台传到后台的字符串经过截取后是字符串数组,但是但是我想要long类型的数组,查阅多处资料:
代码块:
//定义字符串
String str = "1,3,6,9,4,2,1,6";
//截取字符串
String[] strArr = str.split(",");
//转换long类型的数组
long[] strArrNum = (long[]) ConvertUtils.convert(idsArr,long.class);
String ii=id.toString();
long[] strArrNum = (long[]) ConvertUtils.convert(idsArr,long.class);
如果位数可行的话。可以使用java自带的方法,很方便啊。
Long.parseLong();
Long.valueOf();
String[] str = new String[]{"11111111111","2222222222222222"};
String s = JSON.toJSONString(str);
List<Long> list = JSON.parseArray(s,Long.class);
Long[] longs = list.toArray(new Long[]{});
直接foreach循环parseLong就行了吧
Long[] arr = Arrays.stream("13,22,31".split(","))
.map(s -> Long.parseLong(s.trim())).toArray(Long[]::new);