如何通过制作数组优化一些代码?

时间:2014-03-03 15:09:27

标签: java android

在我的代码中我有一个for,它为{lg0 , lg1 , samsong0 ,...}重复了100次 {lg0 , lg1 , samsong0 ,...}是某些类的列表,它们具有静态列表

for (int i = 0;i < lg0.brandStringList.length ; i++ )
{
    MobileInformation mobile = new MobileInformation();

    mobile.Alert_types = lg0.Alert_typesStringList[i];
    .
    .
    .
    mobile.Video = lg0.VideoStringList[i];          
}

解决问题的一种方法是写出100 for这不是一个好办法 例如:
如果我有{lg0,lg1}我必须写下代码

for (int i = 0;i < lg0.brandStringList.length ; i++ )
{
    MobileInformation mobile = new MobileInformation();

    mobile.Alert_types = lg0.Alert_typesStringList[i];
    .
    .
    .
    mobile.Video = lg0.VideoStringList[i];          
}

for (int i = 0;i < lg1.brandStringList.length ; i++ )
{
    MobileInformation mobile = new MobileInformation();

    mobile.Alert_types = lg1.Alert_typesStringList[i];
    .
    .
    .
    mobile.Video = lg1.VideoStringList[i];          
}  

问题
我如何为所有类创建一个List并使用它来优化上面的代码。

1 个答案:

答案 0 :(得分:1)

定义一个公开所需公共方法/字段的基类或接口,然后创建基类列表并遍历类中的组件:

public class BaseInfoClass {
    public static brandStringList[];
    public static Alert_typesStringList[];
    public static VideoStringList[];
}

private LinkedList<BaseInfoClass> mAllInfo;  //  Init this as you need with lg0, etc.

public void whateverMethod() {
    for (BaseInfoClass curClass : mAllInfo) {
        for (int i = 0; i < curClass.brandStringList.length; i)) {
            MobileInformation newInfo = new MobileInformation();
            mobile.Alert_types = curClass.Alert_typesStringList[i];
            .
            .
            .
            mobile.Video = curClass.VideoStringList[i];          
        }
    }
}