Processing 3.3.7中对象共享另一对象问题求助
关于你的ArrayList与setup方法问题的排查建议
嘿,兄弟!别发愁,新手刚接触集合类和Processing(看你用了size()方法猜的😜)的时候踩坑太正常啦!你贴的代码片段虽然没写完,但我结合常见的新手问题给你梳理几个排查方向:
1. 先检查基础依赖与定义
- 别忘了导入
ArrayList的包!在代码顶部必须加:
不然编译器根本不知道import java.util.ArrayList;ArrayList是什么~ - 你的
Individual类有没有正确定义?比如有没有构造函数?如果在循环里要创建Individual实例,这个类至少得有一个无参或者带参数的构造函数,不然没法new Individual()哦!
2. 循环逻辑的常见问题
你提到setup()里的循环有问题,大概率是往集合里加元素的步骤出错了,给你个完整的示例代码参考:
import java.util.ArrayList; // 先定义好你的Individual类 class Individual { private int id; // 无参构造函数,方便快速创建实例 public Individual() { this.id = (int)(Math.random() * 100); } // 带参数的构造函数,自定义属性值 public Individual(int id) { this.id = id; } // 要是需要访问id,加个getter方法 public int getId() { return id; } } public class Main { ArrayList<Individual> individuals = new ArrayList<Individual>(); void setup() { size(500, 500); // 这是Processing的画布设置方法,没问题 // 示例:循环添加10个Individual到集合 for (int i = 0; i < 10; i++) { // 两种创建方式选一种就行 individuals.add(new Individual(i)); // individuals.add(new Individual()); } // 验证一下集合里有没有元素 System.out.println("集合里共有" + individuals.size() + "个个体"); for (Individual ind : individuals) { System.out.println("个体ID:" + ind.getId()); } } // 如果是在普通Java环境运行,模拟Processing的size方法 void size(int width, int height) { System.out.println("已设置画布尺寸:" + width + "x" + height); } public static void main(String[] args) { Main app = new Main(); app.setup(); } }
3. 快速定位问题的小技巧
如果还是报错,一定要把完整的编译/运行报错信息和完整代码贴出来!比如是报NullPointerException(空指针)还是ClassNotFoundException(找不到类),这些细节能帮我们一秒定位问题~
内容的提问来源于stack exchange,提问作者Brynhildr
相关产品推荐
相关产品推荐

