不知道為什么我沒有從以下 Android 代碼中得到我正在尋找的結果:
只有當 pckName不包含字串串列中列出的值之一時,我才想進入 IF 。
List<String> listOfNonApps = Arrays.asList(".google.", "com.android.", "lenovo", ".bing.",".amazon.",".microsoft.",".projectpapyrus.","com.lenovotab");
if(!listOfNonApps.contains(pckName)){
System.out.println("Nott Found");
我什至嘗試過 Lambda:
if (!listOfNonApps.stream().noneMatch(el -> el.toLowerCase().contains(pckName)) {...
if (listOfNonApps.stream().noneMatch(el -> el.toLowerCase().contains(pckName)) {...
if (listOfNonApps.stream().noneMatch(el -> !el.toLowerCase().contains(pckName)) {...
if (!listOfNonApps.stream().anyMatch(str -> str.contains(pckName))) {...
if (listOfNonApps.stream().anyMatch(str -> !str.contains(pckName))) {...
pckName的格式如下:
com.google.android.apps.photos
com.google.android.deskclock
com.lenovotab.camera
com.dolby.daxappui2
com.android.settings
etc....
我認為這應該很簡單,但它不起作用。它要么進入 IF 并列出所有內容,要么跳過所有內容并且從不進入 IF 陳述句。我正確使用它嗎?
uj5u.com熱心網友回復:
看起來您需要檢查是否pckName包含任何子字串,反之亦然。
if (listOfNonApps.stream().noneMatch(str -> pckName.contains(str))) {...
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/493040.html
