试图解决这个问题,无法在任何地方找到答案。如果我有一个字符串,我将其拆分在空格中,如:
string[] arr_str = sentence.split(' ');
我将获得一个包含字符串的数组。现在,如果我在句子中输入双空格,我将得到带空字符串(“”)的arr_str单元格。
我的问题是为什么?为什么不用空格???
当我检查arr_str时,为什么我需要检查空字符串而不是null或空格?
为什么只有空字符串可以工作?
答案 0 :(得分:1)
它对一个角色执行拆分,不包括该角色。结果你得到了分裂字符之间的子串,在这种情况下,它们只是空字符串。
但是,如果需要,可以通过向方法传递适当的枚举来过滤掉空字符串。
答案 1 :(得分:1)
您正在分割一个字符串,这将产生字符串。
如果你拆分了一个双空格,那么两个空格都会被移除,但是emtpy字符串仍然存在,那就是你的结果。
答案 2 :(得分:1)
如果输入双精度空格,则按空格分割将获取两个连续空格之间的字符串,这是一个空字符串。就像space space = space empty_string space。
答案 3 :(得分:1)
空字符串是没有值的字符串,空字符串是没有引用的字符串(尚未启动)。 空字符串不会占用内存空间,但空字符串会将空间分配给内存。