26

私がこのコードを持っている場合:


import javax.swing.*
import java.awt.image.*

def xMap = [
    BufferedImage.TYPE_3BYTE_BGR     : "3 byte BGR",
    BufferedImage.TYPE_4BYTE_ABGR    : "4 byte ABGR",
]

IDEはこのエラーを生成します:

引数式の後の不正なコロン。
   解決策:コロンの前の複雑なラベル式は、で括弧で囲む必要があります

書く以外にこれに対する別の解決策はありますか?


def type_3byte_bgr = BufferedImage.TYPE_3BYTE_BGR

すべての定数について?

4

2 に答える 2

51

マップ リテラルでは、キーが有効な識別子であるか、かっこで囲まれている必要があります。これはうまくいくはずです:

def xMap = [
    (BufferedImage.TYPE_3BYTE_BGR)     : "3 byte BGR",
    (BufferedImage.TYPE_4BYTE_ABGR)    : "4 byte ABGR",]
于 2009-07-28T19:09:56.033 に答える
3

エラー メッセージは、それを解決する方法を示します: ラベル式を括弧で囲みます。

import java.awt.image.BufferedImage

def xMap = [
    (BufferedImage.TYPE_3BYTE_BGR)     : "3 byte BGR",
    (BufferedImage.TYPE_4BYTE_ABGR)    : "4 byte ABGR",
]

println xMap[BufferedImage.TYPE_3BYTE_BGR]
于 2009-07-28T19:09:17.377 に答える