java.util.Arrays$ArrayList cannot be cast to java.util.ArrayList

1,884 阅读1分钟
  • 在使用bundle传StringArrayList的时候遇到类型转化异常
 java.lang.ClassCastException: java.util.Arrays$ArrayList cannot be cast to java.util.ArrayList
        at safeluck.drive.evaluation.customview.SelectDialog.newInstance(SelectDialog.java:119)
        at safeluck.drive.evaluation.fragment.SetArgumentsFragment.onClick(SetArgumentsFragment.java:248)
  • 需要做两次转换

  public static SelectDialog newInstance(String... args){

        SelectDialog sle = new SelectDialog();
        if (args != null && args.length>=2){
            List<String> strs = Arrays.asList(args);
            ArrayList<String> list = new ArrayList<>(strs);
            Bundle bundle = new Bundle();
            bundle.putStringArrayList("content",list);
            sle.setArguments(bundle);
        }


        return sle;
    }