Variables Groovy—将字符串赋值给int类型的变量会产生一个数字

Variables Groovy—将字符串赋值给int类型的变量会产生一个数字,variables,groovy,assign,Variables,Groovy,Assign,分配空字符串或带字母的字符串会导致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 什么操作会

分配空字符串或带字母的字符串会导致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?

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

var_1 = "A"
println var_1

当您执行类似操作时,将在控制台上看到65

var_1 = "2"
println var_1 
然后打印与字符“2”对应的Unicode值,即50。 类似地,如果您尝试打印unicode值“B”或“C”,那么您将得到66或67作为结果

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

int var_1 = "2"
println var_1