Groovy的重大 過載問題

2021-09-27 02:29:40 字數 593 閱讀 2604

今天寫的時候寫了乙個mapmap ,裡邊有很多元素

因為需要使用groovy

然後 map.get(++i); 然後報錯,

後來在大佬幫助下解決了問題

static void main(string args) {

// println "hello world!"

mapmap = new hashmap<>()

byte a = (byte) 1

map.put((byte) 1, 1)

map.put((byte) 2, 1)

map.put((byte) 3, 1)

object var = ++a

println var

var 是integer的型別,如果直接取,groovy會使用integer這個值,而不是byte型別,map 是不會做型別轉化的,他只會認識包裝類和其對應的基本型別,所以取出來一定會為null。如果你要是分開寫,那麼就會將這個interger這個值通過某個方法轉化成為byte,然後get就不會有問題了

總結:++i;

map.get(i);就不錯了

++ 被groovy過載

Groovy探索之運算子的過載 一

groovy探索之運算子的過載 一 運算子最常用的是算術運算子和關係運算子。groovy語言對這些常用的運算子的過載提供了很好的支援。比如過載加號的方法是 plus 我們只要在我們自己的類中實現了該方法,就能使用加號對物件進行相加運算。下面舉個例子。比如,我們有乙個類yuan,用來模擬我們的人民幣元...

Groovy探索之運算子的過載 二

groovy探索之運算子的過載 二 前一篇詳細的說了說算術運算子和關係運算子的過載,這篇要說說賦值運算子和取值運算子,即 運算子的過載。還是以前一篇的 yuan 類來作為例子。classyuan 有了上面的類的定義,我們就可以如下使用這個類 defy newyuan y.num 109 printl...

Groovy探索之運算子的過載 二

groovy探索之運算子的過載 二 前一篇詳細的說了說算術運算子和關係運算子的過載,這篇要說說賦值運算子和取值運算子,即 運算子的過載。還是以前一篇的yuan類來作為例子。classyuan 有了上面的類的定義,我們就可以如下使用這個類 defy newyuan y.num 109printlny....