java中null与"“有什么区别
两者的区别与 “数字0和没有不是同一种概念”是一个道理。
null是空对象,”“是空字符串
null可以赋值给任何对象,而”“就不行了,只能赋值给字符串对象
如:
String s=null;//定义了一个对象实例s,但未将该实例指向任何内存空间
String s=”";//定义了一个对象实例s,指向了一个空串
package ArrayTest;
import java.util.Arrays;
public class ArraysTest {
public static void main(String[] args) {
int[] arr=new int[]{1,2,3,4};
int[] arr2=new int[]{1,3,2,4};
int[] arr3=new int[0];
int[] arr4=null;
System.out.println(Arrays.equals(arr,arr2));
System.out.println(ArraysUtil.equals(arr,arr2));
System.out.println("Arrays.toString(arr)"+" "+Arrays.toString(arr));
System.out.println("Arrays.toString(arr3)"+" "+Arrays.toString(arr3));
System.out.println("Arrays.toString(arr4)"+" "+Arrays.toString(arr4));
}
}
public static String toString(int[] a) {
if (a == null)
return "null";
int iMax = a.length - 1;
if (iMax == -1)
return "[]";
StringBuilder b = new StringBuilder();
b.append('[');
for (int i = 0; ; i++) {
b.append(a[i]);
if (i == iMax)
return b.append(']').toString();
b.append(", ");
}
}