相关疑难解决方法(0)

null和empty("")Java String之间的区别

null""(空字符串)有什么区别?

我写了一些简单的代码:

String a = "";
String b = null;

System.out.println(a == b); // false
System.out.println(a.equals(b)); // false
Run Code Online (Sandbox Code Playgroud)

这两个语句返回false.看来,我无法找到它们之间的实际区别.

java string null equals referenceequals

141
推荐指数
11
解决办法
35万
查看次数

Java StringTokenizer,空null标记

我试图将一个字符串分成29个令牌..... stringtokenizer不会返回null令牌.我试过string.split,但我相信我做错了什么:

String [] strings = line.split(",", 29);
Run Code Online (Sandbox Code Playgroud)

样本输入:

10150,15:58,23:58,16:00,00:00,15:55,23:55,15:58,00:01,16:03,23:58,,,,,16:00,23:22,15:54,00:03,15:59,23:56,16:05,23:59,15:55,00:01,,,,
10155,,,,,,,,,,,07:30,13:27,07:25,13:45,,,,,,,,,,,07:13,14:37,08:01,15:23
10160,10:00,16:02,09:55,16:03,10:06,15:58,09:48,16:07,09:55,16:00,,,,,09:49,15:38,10:02,16:04,10:00,16:00,09:58,16:01,09:57,15:58,,,,
Run Code Online (Sandbox Code Playgroud)

java string string-split stringtokenizer

10
推荐指数
2
解决办法
2万
查看次数

当它应该在C#/ Java中返回-1时,IndexOf方法返回0

我的一个朋友带着这种我无法解释的奇怪行为来找我,任何洞察力的观点都会受到赞赏.

我正在运行VS 2005(C#2.0),以下代码显示了该行为

int rr = "test".IndexOf("");
Console.WriteLine(rr.ToString());
Run Code Online (Sandbox Code Playgroud)

上面的代码,打印"0",清楚地表明它应该返回-1

这也发生在Java中,下面的Class显示了这种行为:

public class Test{
 public static void main(String[] args){
   System.out.println("Result->"+("test".indexOf("")));
 }
}
Run Code Online (Sandbox Code Playgroud)

我正在运行Java 1.6.0_17

c# java string logic indexof

7
推荐指数
4
解决办法
7286
查看次数

为什么''(空字符串)渗透所有字符串?

我今天只是遇到了一些困惑,"string".indexOf('');总是回归0,但我希望-1(因为false); 相反,"string".lastIndexOf('');总是返回6

lastIndexOf更容易理解,因为字符串是6个字母长("string".length是零索引返回5)但我没有看到ECMAscript规范(5.16.0)中描述为什么 ''会被视为单词/字符边界的任何地方

究竟是什么发生在这里?

javascript string standards ecma262 language-lawyer

2
推荐指数
1
解决办法
94
查看次数

Java String IndexOf为空字符串的行为

对于一个字符串说,String str = "abc"双方str.indexOf("a")str.indexOf("")返回0.这种行为合法吗?

java

0
推荐指数
1
解决办法
1629
查看次数