Mic*_*Sim 28 java string string-length
假设有两个Java String对象:
String str = "<my string>";
String strLower = str.toLowerCase();
Run Code Online (Sandbox Code Playgroud)
对于<my string>表达式的每个值,它是否正确呢?
str.length() == strLower.length()
Run Code Online (Sandbox Code Playgroud)
评估到true?
那么,是否String.toLowerCase()为String的任何值保留原始字符串长度?
cod*_*ict 44
令人惊讶的是它没有 !!
从Java文档到toLowerCase
使用给定Locale的规则将此String中的所有字符转换为小写.案例映射基于Character类指定的Unicode标准版本.由于大小写映射并不总是1:1的char映射,因此生成的String可能与原始String的长度不同.
例:
package com.stackoverflow.q2357315;
import java.util.Locale;
public class Test {
public static void main(String[] args) throws Exception {
Locale.setDefault(new Locale("lt"));
String s = "\u00cc";
System.out.println(s + " (" + s.length() + ")"); // Ì (1)
s = s.toLowerCase();
System.out.println(s + " (" + s.length() + ")"); // i?? (3)
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3462 次 |
| 最近记录: |