gpt4 book ai didi

java - 如何在类型类的数组中添加 switch 语句?

转载 作者:行者123 更新时间:2023-12-01 18:11:09 25 4
gpt4 key购买 nike

我有一个要求,仅基于特定条件,我需要初始化类型类的数组。所以我尝试在类型类数组中插入 switch 语句,如下所示。

 for (int i=0;i <testChildData.size();i++ )
{
switch (testChildData.get(i)) {
SyncPreferenceItem[] syncCategoryList = {
case "VISIT":
new SyncPreferenceItem(R.drawable.sync_visit, R.string.PrefVisits,
SynchronizationManager.SYNC_CATEGORY_TYPE.VISITS);
break;
case "CUSTOMERS":
new SyncPreferenceItem(R.drawable.sync_customer, R.string.Customers,
SynchronizationManager.SYNC_CATEGORY_TYPE.CUSTOMERS);
};
}
}

但是我收到一个错误。您能否为我指出正确的方向或任何其他逻辑。谢谢

最佳答案

假设:对于每个值,您将添加 SyncPreferenceItem 对象。

您可以在第二个 case 语句之后添加 break 语句。尽管这里不是必需的,因为在该 case 语句之后没有其他任何内容。但可以避免您将来犯错误。

在 for 循环外部声明并初始化数组,并使用 switch 添加对象。

syncCategoryList = new SyncPreferenceItem[testChildData.size()];
for (int i=0;i <testChildData.size();i++ ) {
switch (testChildData.get(i)) {
case "VISIT":
syncCategoryList[i] = new SyncPreferenceItem(R.drawable.sync_visit, R.string.PrefVisits,
SynchronizationManager.SYNC_CATEGORY_TYPE.VISITS);
break;
case "CUSTOMERS":
syncCategoryList[i] = new SyncPreferenceItem(R.drawable.sync_customer, R.string.Customers,
SynchronizationManager.SYNC_CATEGORY_TYPE.CUSTOMERS);
break;
}
}

如果您不确定要在 for 循环内创建多少个对象,请使用 ArrayList 而不是 SyncPreferenceItem 的简单数组;

List<SyncPreferenceItem> syncCategoryList = new ArrayList<>();

for (int i=0;i <testChildData.size();i++ ) {
switch (testChildData.get(i)) {
case "VISIT":
syncCategoryList.add(new SyncPreferenceItem(R.drawable.sync_visit, R.string.PrefVisits,
SynchronizationManager.SYNC_CATEGORY_TYPE.VISITS));
break;
case "CUSTOMERS":
syncCategoryList.add(new SyncPreferenceItem(R.drawable.sync_customer, R.string.Customers,
SynchronizationManager.SYNC_CATEGORY_TYPE.CUSTOMERS));
break;
}
}

关于java - 如何在类型类的数组中添加 switch 语句?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32879393/

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