gpt4 book ai didi

java - 我可以在 Switch-Case 的每个 Case 分支中声明具有相同名称的变量吗?

转载 作者:行者123 更新时间:2023-12-01 18:04:33 25 4
gpt4 key购买 nike

我试图在 switch case 中创建一个具有相同名称的通用类对象,但出现重复变量错误。有没有一种方法可以在不更改对象名称的情况下创建对象。

switch (ch) {
case 1:
Example<Integer> ex = new Example<Integer>();
break;
case 2:
Example<Float> ex = new Example<Float>();
break;
case 3:
Example<String> ex = new Example<String>();
break;
default:
System.out.println("");
break;
}

最佳答案

您需要将变量声明移到 switch block 之外,如下所示:

Example<?> ex;
switch (ch) {
case 1:
ex = new Example<Integer>();
break;
case 2:
ex = new Example<Float>();
break;
case 3:
ex = new Example<String>();
break;
default:
throw new IllegalArgumentException("Unknown type " + ch);
}

当您混合几种没有共同点的类型时,您必须使用通配符来表示未知类型

关于java - 我可以在 Switch-Case 的每个 Case 分支中声明具有相同名称的变量吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37709198/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com