簡體   English   中英

Groovy-字符串化每個方法

[英]Groovy - String each method

我剛剛開始學習Groovy,它看起來真的很棒!

這是非常簡單的例子。

"Groovy".each {a -> println a};

它很好地打印如下。

G
r
o
o
v
y

我的問題是-按照下面的鏈接,“每​​個”方法都不是String對象的一部分。 那它怎么運作的呢?

http://beta.groovy-lang.org/docs/latest/html/groovy-jdk/

如何獲取對象關閉的參數列表?

示例String.each具有1個參數,Map.each具有1個或2個參數,例如entry或key&value。

DefaultGroovyMethods中的相關代碼是

public static Iterator iterator(Object o) {
   return DefaultTypeTransformation.asCollection(o).iterator();
}

其中包含:

else if (value instanceof String) {
   return StringGroovyMethods.toList((String) value);
}

字符串toList是:

public static List<String> toList(String self) {
   int size = self.length();
   List<String> answer = new ArrayList<String>(size);
   for (int i = 0; i < size; i++) {
      answer.add(self.substring(i, i + 1));
   }
   return answer;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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