【发布时间】:2021-12-22 09:53:26
【问题描述】:
我想在我的工作中编写更多功能性的 java 代码。 但是我怎样才能重构像下面这样的东西。
该代码有效,它必须解析像 100/100 这样的字符串并返回一对整数。
private static final Pattern pattern = Pattern.compile("^(\\d+)(/)(\\d+)$");
public static Optional<Pair<Integer, Integer>> foo(String str) {
var matcher = pattern.matcher(str != null ? str : "");
return matcher.find() && matcher.groupCount() == 3 ?
Optional.of(new Pair<Integer,Integer>(Integer.parseInt(matcher.group(1)),
Integer.parseInt(matcher.group(3)))):
Optional.empty();
}
}
【问题讨论】:
-
您的代码有几个拼写错误,所以它不能像发布的那样工作。下次我建议你直接剪切和粘贴。
标签: java functional-programming refactoring