0

分配空字符串或带有字母的字符串会导致 GroovyCastException。分配带有数字值的字符串会导致数字。这里发生了什么操作?

    int var_1 = 2;
    println var_1 // 2
    var_1 = ""
    println var_1 // GroovyCastException

    int var_1 = 2;
    println var_1 // 2
    var_1 = "2"
    println var_1 // 50

什么操作/秒导致 50?

4

2 回答 2

1

它将“2”视为单个字符串,并将该字符的 Unicode 值 (U+0032 = '2') 分配给变量。例如,我怀疑你是否这样做:

var_1 = "A"
println var_1

你会在控制台上看到 65

于 2012-04-26T06:36:11.867 回答
0

当你做这样的事情

var_1 = "2"
println var_1 

然后打印出与字符“2”对应的 Unicode 值,即 50。同样,如果您尝试打印“B”或“C”的 Unicode 值,那么您将得到 66 或 67 作为结果。

您可以通过执行以下操作打印结果 50:

int var_1 = "2"
println var_1 
于 2012-04-26T06:51:16.693 回答