final List<String> userIds = request.getUserIds();
final List<String> keys = userIds.stream().map(p -> {
return removePrefix(p);
}).collect(Collectors.toList());
基本上,userIds
列表中的每個關鍵字都包含一個前綴「_user」,我想爲每個關鍵字移除該關鍵字。因此,我在列表中的每個項目上調用removePrefix
函數,並將結果存儲在另一個名爲「keys」的列表中。這是Java 8中lambda表達式的正確用法嗎?
'.map(p - > removePrefix(p))'和'.map(this :: removePrefix)'之間是否有區別。是的,第一個是更長的兩個字符,但還有其他什麼? –
沒有功能差異 - 但我發現方法引用更具可讀性。這顯然是一種品味... – assylias
它會在_byte-code level_中一樣嗎? –