簡體   English   中英

為什么 Arrays.asList(listOfPoints).contains(point) 有效?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM