gpt4 book ai didi

java - 超大开关的替代品是什么?

转载 作者:行者123 更新时间:2023-12-01 08:14:20 26 4
gpt4 key购买 nike

我正在将伪搜索功能集成到我的应用程序中。我有一个搜索小部件,它给出了搜索提示列表(这些提示来自 fts3 sqlite 表)。当用户单击搜索提示时,相应的 sqlite 表将填充 listView。

我需要一种方法来根据所选的搜索提示确定哪个表将填充列表。我正在考虑做这样的事情:

switch(search_hint){
case(search_hint_1): useTable(table_1);
break;
case(search_hint_2): useTable(table_2);
break;
case(search_hint_3): useTable(table_1 + table_2); // Case when I need to use
break; // two tables for ListView
}

我确信这是一个可能的解决方案,但是如果有多个(数百或数千)个案例怎么办?谁能提出更好的方法来面对这个问题?

最佳答案

如果可以的话,将映射放入某种类型的对数组中,然后您可以使用 for 循环if 遍历它们。类似于我在Refactoring repetitive guard statements中的建议。您需要创建一对类似的类来保存提示和表格。

要么这样,要么创建一个实际的 map 。并使用 search_hint 作为键。

Map< /*insert hint type here*/,Table> mapTable;

例如。

关于java - 超大开关的替代品是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14703671/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com