我基本上只需要返回一个新的float数组,如下面的代码所示:
private float[] setValues(String str){
float[] array;
switch(str){
case "stuff":
float[] tmp2 = {insert stuff here};
array = tmp2;
break;
case "stuff2":
float[] tmp = {insert stuff here};
array = tmp;
break;
default:
array = null;
}
return array;
}
我知道它看起来很恶心,但我似乎找不到更好的方法来返回一个数组(除了返回每个开关中的数组,而不是将它分配给本地数组并返回||有大约~7案件)所以...你会如何优雅地做这件事?
答案 0 :(得分:-1)
我正在做一些假设:
然后:制作一个枚举
public enum FloatEnum {
STUFF({ float array of STUFF }),
STUFF2({ float array of STUFF2 });
private final float[] data;
private FloatEnum(float[] data) {
this.data = data;
}
public float[] getData() {
return this.data;
}
public static float[] getDataFor(String str) {
FloatEnum e = valueOf(str);
return e.getData();
}
}
您的方法是
private float[] setValues(String str) {
// do str cleanups, if required (uppercase, trim etc)
return FloatEnum.getDataFor(str);
}
更新:getDataFor需要是静态的......