希望能夠評論這是否是解析特定鍵的管道分隔字符串的最佳/推薦方式。
在對每個請求都運行此操作的低延遲系統中,效率非常高。從分隔字符串中提取
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