程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> Groovy >> Groovy Tip 36 “in”關鍵字

Groovy Tip 36 “in”關鍵字

編輯:Groovy

談到“in”關鍵字,在Java語言裡很少用到,因為它引入得比較晚,也就是JDK5的增強 for循環。Groovy語言也把這個功能保留了下來,這樣,我們可以寫一些類似於下面的代碼:

def list = [1,2,3]

      for(i in list)
      {
         println i
      }

運行結果為:

1
2
3

這個增強的for循環也可以用在對Map的循環上,如:

def map = [a:"1",b:"2"]

      for(i in map)
      {
         println "${i.key} : ${i.value}"
      }

運行結果為:

a : 1
b : 2

除此之外,“in”關鍵字還被Groovy語言引入用在判斷一個對象是否是一個集合類的元素 。如:

def list = [1,2,3]

      println 1 in list

      println 5 in list

運行結果為:

true
false

其他,如Set對象也可以這樣用:

def set = [1,2,3,4,3,4] as Set

      println 1 in set

      println 5 in set

運行結果為:

true
false

除了這些,在Groovy語言中,“in”關鍵字還有一個用途,就是用來判定一個對象是否屬 於一個類的實例。這個用法在Java語言中是由“instanceof”關鍵字承擔的。如,我們有兩 個類A和B:

class A
{}

class B extends A
{}

現在,我們有一個對象是由B類實例化,如下:

def b = new B()

我們就可以這樣使用“in”關鍵字:

println b in A

      println b in B

和Java語言中“instanceof”關鍵字的用法一模一樣,運行結果為:

true
true

當然了,Java語言的“instanceof”關鍵字也被Groovy語言繼承下來了,下面的代碼也將 打印“true”:

println b instanceof A

如果是接口和它的實現,也可以與上面一樣的使用“in”關鍵字:

interface C
{}

class D implements C
{}

      def d = new D()

      println d in C

      println d in D

運行結果同樣是兩個“true”。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved