0

我有以下一段代码,它基本上确实附加了所有正确的内容,但序列不会向上计数。有什么想法吗?

globalMap.containsKey(row1.File_Name.toUpperCase()) ?
    (String)globalMap.get(row1.File_Name.toUpperCase()) :
    (globalMap.put(row1.File_Name.toUpperCase(), row1.File_Name.toUpperCase() + 
       "-ID-" + Numeric.sequence(row1.File_Name, 1, +1).toString()) == null ?
    (String)globalMap.get(row1.File_Name.toUpperCase()) :
    (String)globalMap.get(row1.File_Name.toUpperCase())

提前感谢您的建议!

4

2 回答 2

1

我看不到您实际上在哪里重复增加任何值,也许这就是您的序列没有增加的原因。

if(globalMap.containsKey(row1.File_Name.toUpperCase())){
    (String)globalMap.get(row1.File_Name.toUpperCase())
}else{
    if((globalMap.put(row1.File_Name.toUpperCase(), row1.File_Name.toUpperCase() + 
   "-ID-" + Numeric.sequence(row1.File_Name, 1, +1).toString()) == null){
        (String)globalMap.get(row1.File_Name.toUpperCase());
    }else{
        (String)globalMap.get(row1.File_Name.toUpperCase())
    }
}

这是您的代码在 if/else 语句中的样子。我没有编译此代码,并且不确定它是否会编译,因为我无法轻松跟踪这些括号。

于 2013-07-31T13:25:33.740 回答
0

啊,想通了 - 必须切换真假条件,因为我想计算相同的条件。

我想我昨天的大脑太乱了——新的一天,大脑焕然一新,完成了。

globalMap.containsKey(row1.File_Name.toUpperCase()) ?
    (globalMap.put(row1.File_Name.toUpperCase(), row1.File_Name.toUpperCase() + 
       "-ID-" + Numeric.sequence(row1.File_Name, 1, +1).toString()) == null ?
            (String)globalMap.get(row1.File_Name.toUpperCase()) :
            (String)globalMap.get(row1.File_Name.toUpperCase()) 
    ):
    (String)globalMap.get(row1.File_Name.toUpperCase())
于 2013-08-01T05:44:51.777 回答