我试图理解为什么以这种方式编写此搜索代码。我是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。
这是否允许他对每个条目进行不同的组合努力?