[英]Why does Arrays.asList(listOfPoints).contains(point) work?
我在一個示例中遇到了以下代碼,但不明白它為什么有效。
首先用隨機值定義點數組:
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 position:
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() 中完成的比較返回什么? 為什么可以進行這種比較?
感謝您的支持。
這里發生的只是數組被包裹在一個List
容器中,並且contains
(這是一個 List 方法)被調用。 要查看 contains 的作用,只需閱讀文檔。
如果此列表包含指定元素,則返回 true。 更正式地說,當且僅當此列表包含至少一個滿足 (o==null? e==null: o.equals(e)) 的元素 e 時才返回 true。
您無需包裝數組即可輕松完成此操作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.