Update 18-Strings

Signed-off-by: Jason315 <lyna318@163.com>
This commit is contained in:
Jason315
2019-06-28 15:59:34 +08:00
parent 38dbfc6cf8
commit 8fdd8cbe96

View File

@@ -470,16 +470,16 @@ Total 49.39
### `Formatter`转换
下面的表格展示了最常用的类型转换:
| 类型 | 含义 |
| :----: | ---- |
| `d` |整型(十进制)|
| `c` |Unicode字符|
| `b` |Boolean值|
| `s` |String|
| `f` |浮点数(十进制)|
| `e` |浮点数(科学计数)|
| `x` |整型(十六进制)|
| `h` |散列码(十六进制)|
| `%` |字面值“%”|
| :----: | :---- |
| `d` | 整型(十进制) |
| `c` | Unicode字符 |
| `b` | Boolean值 |
| `s` | String |
| `f` | 浮点数(十进制) |
| `e` | 浮点数(科学计数) |
| `x` | 整型(十六进制) |
| `h` | 散列码(十六进制) |
| `%` | 字面值“%” |
下面的程序演示了这些转换是如何工作的:
```java
// strings/Conversion.java
@@ -856,8 +856,8 @@ true
+ **占有型**
目前这种类型的量词只有在Java语言中才可用在其他语言中不可用并且也更高级因此我们大概不会立刻用到它。当正则表达式被应用于`String`时,它会产生相当多的状态,以便在匹配失败时可以回溯。而“占有的”量词并不保存这些中间状态,因此它们可以防止回溯。它们常常用于防止正则表达式失控,因此可以使正则表达式执行起来更高效。
|贪婪型|勉强型|占有型|如何匹配|
|----|----|----|----|
| 贪婪型 | 勉强型 | 占有型 | 如何匹配 |
| ---- | ---- | ---- | ---- |
| `X?` | `X??` | `X?+` | 一个或零个`X` |
| `X*` | `X*?` | `X*+` | 零个或多个`X` |
| `X+` | `X+?` | `X++` | 一个或多个`X` |
@@ -1505,7 +1505,7 @@ But I'm not dead yet! I feel happy!
But I'm not dead yet! I feel happy!
*/
```
使用正则表达式或`Scanner`对象,我们能够以更加复杂的模式来分割一个字符串,而这对于`StringTokenizer`来说就很困难了。基本上,我们可以放心地说,`StringTokenizer`已经可以废弃不用了 [^2]
使用正则表达式或`Scanner`对象,我们能够以更加复杂的模式来分割一个字符串,而这对于`StringTokenizer`来说就很困难了。基本上,我们可以放心地说,`StringTokenizer`已经可以废弃不用了。
<!-- Summary -->