Tag: 通配符

在shell脚本中检查文件是否存在通配符

我试图检查一个文件是否存在,但有一个通配符。 这是我的例子: if [ -f "xorg-x11-fonts*" ]; then printf "BLAH" fi 我也尝试过没有双引号。

如何在类path中使用通配符来添加多个jar?

我一直在使用这么多的第三方库(jar文件),我的CLASSPATH完全搞砸了,因为我必须包含我使用的每个jar文件的path。 我一直在想,如果有一种方法可以使用通配符(*)运算符(如* .jar)将所有jar文件包含在文件夹中。 但它似乎不起作用。 有没有其他办法可以缩短目前看起来像散文的CLASSPATH;)在我的电脑上?

停止shell通配符扩展?

编译的命令行程序是否有任何方法告诉bash或csh它不想在其参数中扩展任何通配符? 例如,可能需要一个shell命令,如: foo * 简单地返回该字符的数字ASCII值。

何时使用通用方法以及何时使用通配符?

我正在阅读有关OracleDocGenericMethod的generics方法。 当它说什么时候使用通配符以及何时使用generics方法的时候,我比较困惑。 从文档引用。 interface Collection<E> { public boolean containsAll(Collection<?> c); public boolean addAll(Collection<? extends E> c); } 我们可以在这里使用generics方法: interface Collection<E> { public <T> boolean containsAll(Collection<T> c); public <T extends E> boolean addAll(Collection<T> c); // Hey, type variables can have bounds too! } […]这告诉我们,types参数被用于多态; 它唯一的作用是允许在不同的调用位置使用各种实际的参数types。 如果是这样的话,应该使用通配符。 通配符被devise为支持灵活的子types,这正是我们要在这里expression的。 我们不认为通配符像(Collection<? extends E> c); 也是支持多态的那种? 那么为什么通用方法的使用被认为是不好呢? 继续前进,它指出, generics方法允许使用types参数来表示方法和/或其返回types的一个或多个参数types之间的依赖关系。 如果不存在这样的依赖关系,则不应使用通用方法。 […]

如何在Java中查找匹配通配符string的文件?

这应该很简单。 如果我有这样一个string: ../Test?/sample*.txt 那么什么是普遍接受的方式来获得匹配这种模式的文件列表? (例如它应该匹配../Test1/sample22b.txt和../Test4/sample-spiffy.txt但不是../Test3/sample2.blah或../Test44/sample2.txt ) 我已经看了org.apache.commons.io.filefilter.WildcardFileFilter ,它似乎是正确的野兽,但我不知道如何使用它来查找相对目录path中的文件。 我想我可以看ant的源代码,因为它使用通配符语法,但我必须在这里丢失一些非常明显的东西。 ( 编辑 :上面的例子只是一个示例,我正在寻找在运行时parsing包含通配符的通用path的方法,我根据mmyers的build议想出了办法,但这样做很烦人,更不用说了java JRE似乎从一个参数中自动parsingmain(String []参数)中的简单通配符来“保存”我的时间和麻烦…我很高兴我没有非文件参数混合。)

generics方法上的多个通配符使Java编译器(和我!)非常困惑

我们首先考虑一个简单的场景( 请参阅ideone.com上的完整源代码 ): import java.util.*; public class TwoListsOfUnknowns { static void doNothing(List<?> list1, List<?> list2) { } public static void main(String[] args) { List<String> list1 = null; List<Integer> list2 = null; doNothing(list1, list2); // compiles fine! } } 这两个通配符是不相关的,这就是为什么你可以使用List<String>和List<Integer>调用doNothing 。 换句话说,这两个? 可以指完全不同的types。 因此,以下不编译,这是预期的( 也在ideone.com上 ): import java.util.*; public class TwoListsOfUnknowns2 { static void doSomethingIllegal(List<?> list1, […]

通配符*在CSS的类

我有这些div我正在与.tocolor风格,但我也需要唯一标识符1,2,3,4等,所以我把它作为另一个类tocolor-1 。 <div class="tocolor tocolor-1"> tocolor 1 </div> <div class="tocolor tocolor-2"> tocolor 2 </div> <div class="tocolor tocolor-3"> tocolor 3 </div> <div class="tocolor tocolor-4"> tocolor 4 </div> .tocolor{ background: red; } 有没有办法只有1classtocolor-* 。 我尝试使用通配符*在这个CSS,但它没有工作。 .tocolor-*{ background: red; }

为什么在Java导入语句中使用通配符不好?

使用一个单一的语句,比如更方便,更干净 import java.awt.*; 比导入一堆个人课程 import java.awt.Panel; import java.awt.Graphics; import java.awt.Canvas; … 在import语句中使用通配符有什么问题?