希望能够评论这是否是解析特定键的管道分隔字符串的最佳/推荐方式。
在对每个请求都运行此操作的低延迟系统中,效率非常高。从分隔字符串中提取
public String extractFields(String key,String comment){
if(comment!=null){
for(String test:comment.split("\\|")){
if(test.contains(key)){
return test.substring(test.indexOf(key)+key.length()).trim();
}
}
}
return null;
}
我投票关闭这一问题作为题外话,因为它应该被张贴到codereview.stackexchange .com(更准确地说明输入是什么,输出的是什么,他的评论来自何处) –
不相关,但我会检查'comment == null'并且如果它是早返回,并且避免额外的嵌套和IMO使先决条件更容易被发现。 –
如果你想使用split,使用一个已编译的Pattern进行拆分,它只会被初始化一次,而不是'String :: split',因为它每次调用都会编译模式。任何采用正则表达式的情况都是如此。 – Novaterata