比如现在有字符串str: “666,777,888,999”,需要将其转换成整型数组List, 可以采用以下的方式:
//先根据“,”切割获取字符串数组
String[] idStrs = str.split(",");
//org.apache.commons.beanutils.ConvertUtils这个类的职能是在字符串和指定类型的实例之间进行转换,可单独去了解下
//先利用ConverUtils,转换成整型数组
Integer[] ids = (Integer[]) ConverUtils.convert(idStrs, Integer.class);
//再利用Arrays.asList转换成整型列表
List<Integer> idList = Arrays.asList(ids);
以上串起来就是:
List<Integer> idList = Arrays.asList((Integer[]) ConvertUtils.convert(netInstructionIds.split(","),Integer.class));
注意:
这里Arrays.asList得到的list是不可编辑的,否则会抛异常UnsupportedOperationException, 因为这里asList得到的ArrayList是继承了AbstractList,其没有重写父类的编辑方法(add、remove),而父类AbstractList里面add、remove方法的内容就是直接throw UnsupportedOperationException();