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$;);
「;」を削除することはできますか 置換結果から?