lan*_*nyf 13 android trim kotlin
有一个java代码来修剪字符串
String title = titleEt.getText().toString().trim();
Run Code Online (Sandbox Code Playgroud)
当覆盖到kotlin时,我认为这应该是用于修剪前导空间和尾随空间的kotlin代码.
val title = titleEt.text.toString().trim()
Run Code Online (Sandbox Code Playgroud)
但IDE会生成此代码
val title = titleEt.text.toString().trim { it <= ' ' }
Run Code Online (Sandbox Code Playgroud)
这里的{it <=''}是什么,它是否少于''?
eph*_*ent 22
Java 将从字符串的开头和结尾String#trim()删除'\u0000'(NUL)和'\u0020'(SPACE)之间的所有代码点.
Kotlin CharSequence.trim()默认只删除前导和尾随空格(字符匹配Char.isWhitespace,即Character#isWhitespace(char)).对于与Java相同的行为,IDE生成了一个谓词,该谓词与Java修剪的字符相匹配.
这些字符包括ASCII空格,但也包括控制字符.
'\u0000' ? ('\0')
'\u0001' ?
'\u0002' ?
'\u0003' ?
'\u0004' ?
'\u0005' ?
'\u0006' ?
'\u0007' ? ('\a')
'\u0008' ? ('\b')
'\u0009' ? ('\t')
'\u000A' ? ('\n')
'\u000B' ? ('\v')
'\u000C' ? ('\f')
'\u000D' ? ('\r')
'\u000E' ?
'\u000F' ?
'\u0010' ?
'\u0011' ?
'\u0012' ?
'\u0013' ?
'\u0014' ?
'\u0015' ?
'\u0016' ?
'\u0017' ?
'\u0018' ?
'\u0019' ?
'\u001A' ?
'\u001B' ?
'\u001C' ?
'\u001D' ?
'\u001E' ?
'\u001F' ?
'\u0020' ? (' ')
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3687 次 |
| 最近记录: |