gpt4 book ai didi

java - 如何在java中实例化多边形数组

转载 作者:行者123 更新时间:2023-11-30 04:59:57 26 4
gpt4 key购买 nike

认为

 Polygon[] polygon = new Polygon[3];

可以。它完全可以很好地运行"new"行,但是一旦它添加一个点,它就会执行空指针异常。我添加了这样的一点(这里是 NPE)-

polygon[0].addPoint(256, 417);

但是,像下面这样做是可行的,但我不希望有大量的“new Polygon()”。有没有办法像我的第一行代码一样做到这一点?

Polygon[] polygon = { new Polygon(), new Polygon(), new Polygon() };

最佳答案

你必须做这样的事情:

Polygon[] polygons = new Polygon[3];
for (int i = 0; i < polygons.length; i++)
{
polygons[i] = new Polygon();
}

第一行只是创建一个数组 - 并且数组始终填充空引用(或零值等)。此时还没有创建任何Polygon对象,这就是为什么您尝试使用polygons[0].addPoint您会得到一个NullPointerException .

如果您想使用对新创建的对象的引用来填充它,则需要显式创建这些对象。

关于java - 如何在java中实例化多边形数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7140011/

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