不知道为什么我没有从以下 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 语句。我正确使用它吗?
看起来您需要检查是否pckName
包含任何子字符串,反之亦然。
if (listOfNonApps.stream().noneMatch(str -> pckName.contains(str))) {...
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句