小编rat*_*zip的帖子

为什么以下列表无法在Java中转换为字符串数组

我在Java中有以下代码,当我运行它时,它会给出一些错误:

String[] stringArray1 = {"1","2","3"};
String[] stringArray2 = {"1","3","5"};
String[] stringArray3 = {"1","4","6"};

public String[] getString(int age) {

        List<String> list = new ArrayList<String>();

        switch (age) {
            case 1:

                Collections.addAll(list, stringArray1);
                return composeStrings(list);

            case 2:

                Collections.addAll(list, stringArray2);
                return composeStrings(list);

            case 3:
                Collections.addAll(list, stringArray3);
                return composeStrings(list);

            default:
                return new String[]{"Not find", "Please specify the age"};
            }
    }

public String[] composeStrings(List<String> list) {

        list.add("added a new string");

        return (String[]) list.toArray();
}
Run Code Online (Sandbox Code Playgroud)

但当我运行它时,它说: return (String[]) list.toArray();

java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to [Ljava.lang.String;
Run Code Online (Sandbox Code Playgroud)

这是什么问题?以及如何解决它?

java arrays string list

0
推荐指数
1
解决办法
90
查看次数

如何迭代一个hashmap,是否需要在Java中强制转换keySet()?

我有一个关于迭代一个hashmap的问题:

Map<String, Integer> map = new HashMap<String, Integer>();
Run Code Online (Sandbox Code Playgroud)

我想迭代这个hashmap并使用以下代码打印输出键和值对:

Iterator iterator = portMap.keySet().iterator();
Run Code Online (Sandbox Code Playgroud)

但它表明我要转换portMap.keySet().iterator();(Iterator)portMap.keySet().iterator();但是iterator()作为迭代器已经返回,为什么我需要转换它?我检查了一些其他代码,没有演员的返回值iterator(),原因是什么,以及如何修复它?

java iterator hashmap map

0
推荐指数
1
解决办法
745
查看次数

如何在TCL中匹配正则表达式中的2位数字?

我需要使用正则表达式匹配以下字符串:

"The value is 0x0208 and the type is INTERNATION"
Run Code Online (Sandbox Code Playgroud)

我想获取数字 02 和 08,并将它们存储到不同的两个变量中,我使用以下正则表达式:

repexp "0x(\[0-9]+)\[^\\n]+INTERNALION" "The value is 0x0208 and the type is INTERNATION" whole first second
Run Code Online (Sandbox Code Playgroud)

无法获取第二个,如何解决?

regex string tcl

0
推荐指数
1
解决办法
4639
查看次数

如何在C中使用指向此数组的指针来获取数组的大小?

我在C中有以下代码:

int array[5] = {0,1,2,3,4}; 

int * p = &array[0];
Run Code Online (Sandbox Code Playgroud)

如何使用指针p获取此数组的大小p指向?

c arrays pointers

0
推荐指数
1
解决办法
110
查看次数

标签 统计

arrays ×2

java ×2

string ×2

c ×1

hashmap ×1

iterator ×1

list ×1

map ×1

pointers ×1

regex ×1

tcl ×1