当前位置: 代码迷 >> J2SE >> Java初学者关于ArrayList转数组的有关问题
  详细解决方案

Java初学者关于ArrayList转数组的有关问题

热度:186   发布时间:2016-04-23 20:19:52.0
Java菜鸟求助关于ArrayList转数组的问题
ArrayList<Byte> arr = new ArrayList<Byte>();
arr.add(new Byte(1));
arr.add(new Byte(2));
arr.add(new Byte(3));

我如何才能将这个ArrayList转换成一个byte数组呢?
就相当于byte[] b = {1, 2, 3};

求指教!

谁答的好,赏黄图2张,种子2个。


------解决思路----------------------
arr.toArray(new Byte[0]);
------解决思路----------------------
1楼的做法是有问题的,看看toArray的源码就知道了,如果传入的数组长度为0的话,则没有作用。
应改为
Byte[] b = new Byte[arr.size()];
arr.toArray(b);
另外要说的是转换回来的数组并不是byte基本类型的数组,而是Byte类型的数组。
------解决思路----------------------
引用:
1楼的做法是有问题的,看看toArray的源码就知道了,如果传入的数组长度为0的话,则没有作用。
应改为
Byte[] b = new Byte[arr.size()];
arr.toArray(b);
另外要说的是转换回来的数组并不是byte基本类型的数组,而是Byte类型的数组。


凤姐的图和种子就算了,你还是自己留着吧。
------解决思路----------------------
还是采取最傻的办法,for循环吧,依次把值赋给byte数组
------解决思路----------------------

public static String[] toStringArray(List<String> strList) {
       String[] array = new String[strList.size()];
       strList.toArray(array);
       return array;
      }
    public static void main(String[] args) {
     List<String> strList = new ArrayList<String>();
     strList.add("Monkey");
     strList.add("Cat");
     strList.add("Pig");
     strList.add("Rabbit");
toStringArray(strList);
for (int i = 0; i < toStringArray(strList).length; i++) {
System.out.println(toStringArray(strList)[i]);
}
}

------解决思路----------------------
没有现成的,手动处理。
------解决思路----------------------
ArrayList<Byte> arr = new ArrayList<Byte>();
arr.add(new Byte((byte)1));
arr.add(new Byte((byte)2));
arr.add(new Byte((byte)3));
System.out.println(arr.toArray(new Byte[0]));
for(byte b:arr.toArray(new Byte[0])){
System.out.println("-->"+b+"<--");
}
明显是可以的嘛
  相关解决方案