【发布时间】:2025-12-07 07:50:01
【问题描述】:
我在一个示例中遇到了以下代码,但不明白它为什么会起作用。
首先用随机值定义一个点数组:
Point[] randPoints = new Point[5];
for (int i=0; i<randPoints.length; i++)
randPoints[i] = new Point( (int)(Math.random() * 40),
(int) (Math.random()* 10) );
然后有一个循环检查这些点是否有当前的 x,y 位置:
for ( int y = 0; y < 10; y++ )
{
for ( int x = 0; x < 40; x++ )
{
if ( Arrays.asList( randPoints ).contains( new Point(x,y) ) )
System.out.print( "P" );
else
System.out.print( "." );
}
System.out.println();
}
Arrays.asList(randPoints) 为 contains() 中的比较返回什么?为什么可以进行这种比较?
感谢您的支持。
【问题讨论】:
-
提示:所有标准的java库类都有优秀的javadoc。先读那个。说真的,为什么认为其他人应该再次为你写下已经很好解释的内容?!
-
那个 javadoc 会告诉你 asList 返回一个 List 对象。 List 接口的 javadoc 会告诉您 contains 方法应该如何工作。再次严肃地说,这就是学习编程的本质:挖掘事物以发现自己。询问他人是一种有效的方法,但请将其作为最后一个选项,而不是第一个选项。