我已经尝试了tmap中的所有可能组合,但我感到无比沮丧

我像这样在tJava中设置全局变量

globalMap.put("table_id",22);


然后稍后在组件行中,我在tMap java - Talend-无法在tmap中使用globalMap.get()-LMLPHP的out模式中调用全局映射

globalMap.get(“ table_id”);

并得到以下错误

Error Line: 2539
Detail Message: Type mismatch: cannot convert from Object to int
There may be some other errors caused by JVM compatibility. Make sure your JVM setup is similar to the studio.


我尝试过的稀薄

(Integer)globalMap.get("table_id")
((Integer)globalMap.get("table_id"))
Integer.parseint(globalMap.get("table_id"))


任何组合都行不通,但只需将数字22放行

任何帮助都会非常有帮助

最佳答案

答案在于以下陈述:


  类型不匹配:无法从Object转换为int


因此,这绝对是一个Casting问题。我肯定知道:(Integer)globalMap.get("table_id")应该可以工作!

如果不起作用,则错误消息肯定会与“类型不匹配”不同!


注意1:最好使用本机组件“ tSetGlobalVar”将值存储在globalMap中。
注意2:上下文变量不应在运行时中动态修改,因为它们不是线程安全的(globalMap是!)。

08-05 21:39