java - 在 Java 中从数组创建对象数组

标签 java android arrays object

我是 Android 和 Java 的新手,无法弄清楚这个看似基本的 for 循环设置,以根据其他两个数组中的数据创建一个对象数组。

它是这样工作的,但感觉不是很复杂。

//  RefineMenuItem is a public class
public class RefineMenuItem {
    private int imageIcon;
    private String title;
}

// imageIcon and title are arrays with seven values in them
int[] imageItems = { ... }        
String[] menuItems = { ... }

// Create the RefineMenu Objects
RefineMenuItem item1 = new RefineMenuItem(imageItems[0],menuItems[0]);
RefineMenuItem item2 = new RefineMenuItem(imageItems[1],menuItems[1]);
RefineMenuItem item3 = new RefineMenuItem(imageItems[2],menuItems[2]);
RefineMenuItem item4 = new RefineMenuItem(imageItems[3],menuItems[3]);
RefineMenuItem item5 = new RefineMenuItem(imageItems[4],menuItems[4]);
RefineMenuItem item6 = new RefineMenuItem(imageItems[5],menuItems[5]);
RefineMenuItem item7 = new RefineMenuItem(imageItems[6],menuItems[6]);

// Add the RefineMenu Objects to an ArrayList
ArrayList<RefineMenuItem> refineMenuList = new ArrayList<>();
refineMenuList.add(item1);
refineMenuList.add(item2);
refineMenuList.add(item3);
refineMenuList.add(item4);
refineMenuList.add(item5);
refineMenuList.add(item6);
refineMenuList.add(item7);

我相信我需要先创建对象数组,然后根据 this question 添加到它.

    RefineMenuItem[] arr = new RefineMenuItem[7];

然后我相信我应该使用 for 循环来添加到数组中,但这是我卡住的地方,经过研究后无法弄清楚。帮助我指出正确的方向表示感谢!

最佳答案

我相信一个基本的 for 循环可以解决您所有的问题。

只需确保您之前已进行实现/声明。

for(int i = 0; i<=6; i++) {
   RefineMenuItem item = new RefineMenuItem(imageItems[i],menuItems[i]);
   refineMenuList.add(item);
}

老实说,我已经有一段时间没有使用 java 了,所以可能会有一些语法错误,但逻辑解决方案应该是补充性的。

关于java - 在 Java 中从数组创建对象数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56587709/

相关文章:

c - 为什么我的数组在 C 中返回错误的值?

Javascript 观察者或代理,无需通过代理进行所有更改

java - Hibernate版本支持Oracle12cDialect和JPA 2.0

java - 使用 oracle 和 mysql 在数据库上进行多线程

Android:具有枚举比较的数据绑定(bind)表达式

android - 为什么我的 Recycler View 选择了错误的项目以及被点击的完全选定的项目?

java - Android ANR CRASH Intent 广播 { act=android.intent.action.SCREEN_ON flg=0x50200010 }

java - ThreadPoolExecutor 中的 allowCoreThreadTimeout( ) 有什么用?

java - Gradle:使用注释从打包(jar)中排除某些文件

arrays - swift 4 : how to write/load structure from file