如何从多个数组中进行泛化使用

时间:2015-02-11 04:03:35

标签: android arrays

我正在创建一个具有公司选择的Android应用程序,并根据我展示的汽车并根据特定汽车的选择,我想展示汽车的一些细节,例如:容量,功率,发动机油等现在我使用数组来存储所有这些与汽车相关的信息。例如

private static final String[] car1={"624CC","33bhp","10W40"}
private static final String[] car2={"1600CC","120bhp","10W40"}

要检查该部分,我已经为每辆车使用了多个if-else语句。根据选择,我显示值格式数组。

 if(bn.equals("car 1"))
    {
        cap.setText(""+car1[0]);
        powr.setText(""+car1[1]);
        oil.setText(" "+car1[2]);
    }
    else if(bn.equals("car 2"))
    {
        cap.setText(""+car2[0]);
        powr.setText(""+car2[1]);
        oil.setText(" "+car2[2]);
    }
    else if(bn.equals("car 3"))
    {
        cap.setText(""+car3[0]);
        powr.setText(""+car3[1]);
        oil.setText(" "+car3[2]);
    }

现在的问题是if-else的数量增加了,我得到的错误是" Code太大"在android工作室。 我想知道是否有任何方法用单个通用语句替换这些多个if if语句。正如您所看到的,在所有if中,代码是相同的,它只是该数组名称是不同的。 我知道我可以使用SQLite数据库,但是我必须再次为所有汽车添加所有值。所以想知道我是否可以使用我创建的相同阵列。任何解决方案/建议都会非常有用

1 个答案:

答案 0 :(得分:0)

可能代替名称的字符串比较,您可以存储所选值的索引,并使用开关案例来查找选择的汽车。这应该减少代码也使它更具可读性。