小编Sim*_*mon的帖子

在使用GStrings时,为什么groovy map key评估在类似情况下表现不同?

我很感激有人向我解释为什么以下情况属实:

def t = "test"
assert [test: 1] == ["test": 1]  // 1. expected
assert ["$t": 1] != ["test": 1]  // 2. unexpected
assert ["$t": 1] != [test: 1]    // 3. unexpected
assert ["$t": 1] == ["$t": 1]    // 4. expected
println ["$t": 1]                // output: [test: 1]
println ["test": 1]              // output: [test: 1]
Run Code Online (Sandbox Code Playgroud)

我不明白为什么结果#2和#3存在不平等.

我在编写测试时遇到了这个问题,其中密钥在代码中动态创建,但考虑到测试条件,我知道它应该是字符串"test".问题是返回的"看起来"是正确的,但不认为是平等的.我不明白为什么.

此外,以下"作品":

def t = "test"
def odd = ["$t": 1]
assert !odd["$t"]
assert !odd.test
assert !odd["test"]
assert !odd."$t"
println odd           // output: [test: …
Run Code Online (Sandbox Code Playgroud)

groovy

3
推荐指数
1
解决办法
701
查看次数

标签 统计

groovy ×1