为什么会像这样起草ArrayList字符串?

时间:2019-06-01 19:04:18

标签: java android arraylist

我试图理解为什么以这种方式编写此搜索代码。我是Java新手,不了解此设置的目的或好处是什么。我知道使用c,您将构造这样的字符串来控制将null放置在何处。这更多是一个编码策略问题。

一个朋友写了一些代码来帮助搜索已安装的android软件包。我正在尝试了解构造这样的搜索字符串的目的是什么。不幸的是我找不到解释。

他定义了SearchApp类

private static ArrayList<SearchApp> getApp(ArrayList<SearchApp> moreApps) {
ArrayList<SearchApp> app = new ArrayList<>();
app.add(new SearchApp("Golf Magic", new String[]{"c", "o", "m", ".",     "l", "i", "v", "l", "e", "e", "d", ".", "G", "o", "l", "f", "M", "a", "g", "i", "c"}, AppType.GAME));
app.add(new SearchApp("Eight Ball", new String[]{"c", "o", "m", ".", "l", "i", "v", "l", "e", "e", "d", ".", "e", "i", "g", "h", "t", "B", "a", "l", "l", ""}, AppType.GAME));
app.addAll(moreApps);
return app;
}

SearchApp类如下。

   class SearchApp {
        private String name;
        private String[] pack;
        private AppType type;

        public SearchApp(@NonNull String name, @NonNull String[] pack, @NonNull AppType type) {
            this.name = name;
            this.pack = pack;
            this.type = type;
        }

        public SearchApp(@NonNull String name, @NonNull String appPackage, @NonNull AppType type) {
            this.name = name;
            this.pack = TextUtils.split(appPackage, "");
            this.type = type;
        }

        public String getPackage() {
            StringBuilder sb = new StringBuilder();
            for (String s : pack) {
                sb.append(s);
            }
            return sb.toString();
        }
    }

我知道他为什么不只在PackageManager搜索中使用com.livleed.GolfMagic或com.liveed.eightBall。

这是否允许他对每个条目进行不同的组合努力?

0 个答案:

没有答案