Jim*_*mmy 20 java string logic startswith
在通过一些代码调试的过程中,我发现我验证的一个特定部分是使用.startsWith()String类上的方法检查String是否以空白字符开头
考虑以下因素:
public static void main(String args[])
{
String s = "Hello";
if (s.startsWith(""))
{
System.out.println("It does");
}
}
Run Code Online (Sandbox Code Playgroud)
打印出来 It does
我的问题是,为什么Strings以空白角色开始?我假设在引擎盖下Strings本质上是字符数组,但在这种情况下我会想到第一个字符H
有人可以解释一下吗?
Cam*_*ron 40
""是一个不包含字符的空字符串.没有"空字符",除非你的意思是空格或空字符,它们都不是空字符串.
您可以将字符串视为以无限数量的空字符串开头,就像您可以将数字视为以无限数量的前导零开头而不改变其含义.
1 = ...00001
"foo" = ... + "" + "" + "" + "foo"
Run Code Online (Sandbox Code Playgroud)
字符串也以无限数量的空字符串结尾(带有零的十进制数字):
1 = 001.000000...
"foo" = "foo" + "" + "" + "" + ...
Run Code Online (Sandbox Code Playgroud)
Rid*_*del 11
好像你的代码中存在误解.您的语句s.startsWith("")检查字符串是否以空字符串开头(而不是空字符).它可能是一个奇怪的实现选择,无论如何,它是这样的:所有字符串都会说你以空字符串开头.
另请注意,空字符将是" "字符串,而不是空字符串"".
| 归档时间: |
|
| 查看次数: |
2550 次 |
| 最近记录: |