gpt4 book ai didi

java - 在 switch/case 语句中使用列表中的值作为 case

转载 作者:行者123 更新时间:2023-12-04 16:08:52 28 4
gpt4 key购买 nike

我有一个 ArrayList,其中包含以下字符串:[name, age, gender, salary] . 有没有办法可以将 ArrayList 中的值用作 case 表达式? 显而易见的答案是否定的,因为 case 表达式必须是常量表达式。但是,我想知道如果我不能使用 switch/case 的最佳方法是什么。

需要明确的是,预期的行为是这样的:

switch (parameter) {
case XXX:
// some code here
case YYY:
// some code here
}

我希望XXX是 姓名 , 和 YYY 为 性别 ,它们都来自 ArrayList。如果无法通过 switch/case 完成,我愿意使用 if/else。我怎么能做这样的事情?谢谢。

最佳答案

如果你真的想使用 switch case 并且不能使用非本地 java 对象,我会尝试一些类似的东西:

public void test(){

String[] array = {"name", "age", "gender", "salary"};

String value = "name";

switch(indexOf(value, array)){
case 0:
//code
break;
case 1:
//code
break;
case 2:
//code
break;
case 3:
//code
break;
default:
//value wasnt in array
}
}

public int indexOf(String value, String[] array){
for(int i = 0; i < array.length; i++){
if(array[i].equals(value)){
return i;
}
}
//return a place holder value
return -1;
}

关于java - 在 switch/case 语句中使用列表中的值作为 case,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46700247/

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