小编Dan*_*ree的帖子

转换Arrays.asList导致异常:java.util.Arrays $ ArrayList无法强制转换为java.util.ArrayList

我是Java新手,我试图理解为什么第一个代码片段不会导致此异常,但第二个代码片段会导致此异常.由于在两种情况下都将字符串数组传递给Arrays.asList,因此两个片段是否都不会产生异常或不产生异常?

Exception in thread "main" java.lang.ClassCastException: java.util.Arrays$ArrayList cannot be cast to java.util.ArrayList
Run Code Online (Sandbox Code Playgroud)

第一个片段(没有例外):

ArrayList<ArrayList<String>> stuff = new ArrayList<ArrayList<String>>();
String line = "a,b,cdef,g";
String delim = ",";
String[] pieces = line.split(delim);
stuff.add((ArrayList<String>) Arrays.asList(pieces));
Run Code Online (Sandbox Code Playgroud)

第二个片段(导致以上异常):

ArrayList<ArrayList<String>> stuff = new ArrayList<ArrayList<String>>();
String[] titles = {"ticker", "grade", "score"};
stuff.add((ArrayList<String>) Arrays.asList(titles));
Run Code Online (Sandbox Code Playgroud)

如果相关,我在Eclipse Helios中使用JavaSE 1.6.

java arrays casting arraylist multidimensional-array

38
推荐指数
4
解决办法
7万
查看次数

在python中对自定义类执行set操作

我想将Python的内置set类与我创建的自定义类一起使用.如果我想创建包含我的自定义类实例的集合,我需要实现哪些函数才能执行测试,比如set_a - set_b?

python set

25
推荐指数
1
解决办法
1万
查看次数

使用python的optparse时在帮助消息中显示换行符

我正在使用optparse模块进行选项/参数解析.出于向后兼容性原因,我无法使用argparse模块.如何格式化我的epilog消息以保留换行符?

在下面的例子中,我希望将epilog打印为格式化.

    epi = \
"""
Examples usages:
  Do something
  %prog -a -b foo
  Do something else
  %prog -d -f -h bar
"""
    parser = optparse.OptionParser(epilog=epi)
Run Code Online (Sandbox Code Playgroud)

python optparse

6
推荐指数
1
解决办法
4468
查看次数