上界通配符和下界通配符的使用
时间: 2023-08-09 16:04:17 浏览: 54
上界通配符和下界通配符是Java泛型中的特殊符号,用于限制泛型类型参数的范围。
上界通配符使用 extends 关键字,用于限制泛型类型参数必须是指定类型的子类或本身。例如:
```
public <T extends Number> void print(T number) {
System.out.println(number);
}
```
在上面的代码中,<T extends Number> 表示泛型类型参数 T 必须是 Number 类型或其子类类型。
下界通配符使用 super 关键字,用于限制泛型类型参数必须是指定类型的父类或本身。例如:
```
public void addAll(List<? super Integer> list, Integer[] array) {
for (Integer i : array) {
list.add(i);
}
}
```
在上面的代码中,List<? super Integer> 表示泛型类型参数必须是 Integer 类型的父类或本身,例如 Object 类型或 Number 类型。
总的来说,上界通配符可以用于获取泛型类型参数的值,下界通配符可以用于向泛型类型参数中添加元素。
相关问题
xpath使用通配符
在XPath中,通配符用于选择具有相同特征的XML元素。通配符用星号(*)表示。例如,/bookstore/book/* 选择 bookstore 元素的所有子元素,而不管它们的名称是什么。还可以使用通配符选择具有特定属性的元素。例如,/bookstore/book[@category='children'] 选择 bookstore 元素中所有 category 属性为 children 的 book 元素。以下是一个使用通配符的XPath表达式的例子:
```xpath
//bookstore/book/*[@category='children']
```
这个表达式将选择 bookstore 元素中所有 category 属性为 children 的 book 元素的所有子元素。
UltraEdit使用通配符
UltraEdit支持使用通配符进行文件搜索和替换操作,以下是一些常用的通配符:
- `*`:匹配任意数量的字符(包括零个字符)
- `?`:匹配任意单个字符
- `[]`:匹配方括号中列出的任意一个字符
- `[!]`:匹配不在方括号中列出的任意一个字符
- `{}`:匹配大括号中列出的任意一个字符串
例如,要搜索所有以“test”开头的文件,可以使用通配符“test*.*”,其中“*”表示任意数量的字符,“.*”表示任意文件扩展名。要搜索所有以“test”开头并且扩展名为“.txt”的文件,可以使用通配符“test*.txt”。
要替换所有包含“abc”或“def”字符串的行,可以使用通配符“*abc*”或“*def*”,并将替换模式设置为目标字符串。要替换所有以“test”开头的行,可以使用通配符“test*”,并将替换模式设置为目标字符串。