-2
我想知道爲什麼這段代碼甚至可以編譯。因爲這裏我們有一個Predicate
,它的類型可能是字符串或其任何超級類型。很明顯,length()
在適用於此謂詞的對象類中不可用。使用有界謂詞
Predicate<? super String> predicate = s -> s.length() > 3;
Stream.of("cat", "bat", "rat", "doggy").filter(predicate).forEach(System.out::println);
任何人都可以描述一種情況,我們必須需要這些類型的有界類型謂詞嗎?
也許你應該看看:HTTP://計算器。 com/questions/4343202 /差異之間的超t和擴展-t在java中 – Flown
如果你已經閱讀接受的答案,那麼你會得到你的答案。 – Flown