0

Structural Replace に基づいて独自の検査を作成しています。たとえば、次のような変換コードの検査を行いたいとします。

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」を使用しましたが、機能しませんでした。

出来ますか?また、同じ置換結果で 2 つの異なる検査を行う必要があります。複数の検索パターンを使用できますか?

更新

次のパターンを置き換えてみました

$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