0

我正在基于结构替换创建自己的检查。例如,我想检查转换代码,例如:

if (!$Map$.containsKey($key$)){
    $Map$.put($key$, $value$);
}

if ($Map$.get($key$) == null){
    $Map$.put($key$, $value$);
}

进入

$Map$.putIfAbsent($key$, $value$);

但我不希望它对以下代码做出反应:

if (!$Map$.containsKey($key$)){
    $Map$.put($key$, $value$);
}
else {
    // any logic
}

我试着用

if (!$Map$.containsKey($key$)){
    $Map$.put($key$, $value$);
}
$else$

带有选项文本“else”,但它不起作用。

是否可以?此外,我必须以相同的替换结果进行两次不同的检查。我们可以使用多个搜索模式吗?

更新

我尝试替换下一个模式

$Iterable$.forEach($value$ -> {
    if ($condition$) {
        $statement$;
    }
});

进入

$Iterable$.stream()
        .filter($value$ -> $condition$)
        .forEach($value$ -> $statement$);

但更换后我得到:

$Iterable$.stream()
        .filter($value$ -> $condition$)
        .forEach($value$ -> $statement$;);

是否可以删除“;” 从替换结果?

4

1 回答 1

0

使用这样的搜索模板:

if (!$Map$.containsKey($key$)){
    $Map$.put($key$, $value$);
} else {
    $statement$;
}

编辑变量并将最小和最大计数设置statement0

目前无法对单个结构搜索检查使用多个搜索模式。

于 2016-01-22T11:07:17.930 回答