Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在ApacheVelocity中评估hashmap_Java_Velocity - Fatal编程技术网

Java 在ApacheVelocity中评估hashmap

Java 在ApacheVelocity中评估hashmap,java,velocity,Java,Velocity,我有一个这样的模板 $VAR_A $VAR_B #foreach ($obj in $TEMPLATE_ANOTHER) Value of VAR_A is $VAR_A Value of REFVAR_A is $obj.get("A") #if($VAR_A == $obj.get("A")) print success #else print failure #end #end 合并上下文时,我为VAR_A=a1、VAR_B=b1提供值 对于模板,我提供了一个包含以下条目

我有一个这样的模板

$VAR_A

$VAR_B

#foreach ($obj in $TEMPLATE_ANOTHER) 

Value of VAR_A is $VAR_A
Value of REFVAR_A is $obj.get("A")

#if($VAR_A == $obj.get("A"))
 print success
#else
 print failure
#end

#end
合并上下文时,我为VAR_A=a1、VAR_B=b1提供值 对于模板,我提供了一个包含以下条目的HashMap

("A", "a1")
("B", "b3")
("C", "c8")
合并时,预期的输出为

Value of VAR_A is a1
Value of REFVAR_A is a1
print success
==的计算结果不正确,打印失败

有什么建议吗?

我认为“==”使用标识比较,您可能需要使用equals()来实际比较对象,即

#if($VAR_A.equals($obj.get("A")))
...

它到底打印什么?能否将以下内容添加到模板并打印更新后的输出:$VAR_A.hashCode()-$obj.get(“A”).hashCode()-$VAR_A.equals($obj.get(“A”))+1。请注意,Java一般都是这样,而不是特定于Velocity。这真的是解决方案吗?根据
=
操作符是用来比较字符串的:==操作符可以用来比较数字、字符串、同一类的对象,[…]嗯,你是对的,似乎velocity总是用“equals()”来表示“==”,让我看看是否还有其他原因。。。