Java中出现int型:[I@21bcffb5,char型:[C@380fb434,float型:[F@668bc3d5,double型:[D@3cda1055,boolean型:[Z@7a5d012c,String型:[Ljava.lang.String;@3fb6a447 怎么办?
问题代码如下:
public class java_323 {
public static void main(String[] args) {
int [] N=new int [2];
char[] a =new char [1];
float[] b =new float [3];
double[] c =new double [1];
boolean[] d =new boolean [1];
String[] e =new String [1];
System.out.println("int型:"+N);
System.out.println("char型:"+a);
System.out.println("float型:"+b);
System.out.println("double型:"+c);
System.out.println("boolean型:"+d);
System.out.println("String型:"+e);
}
}
运行后结果为:
原因:
“[” 表示一维数组
"[["表示二维数组
“I”,“C”,“F”,“D”代表数组内数据类型
@”后面的值是由哈希算法得到16进制的数,代表该数组的位置。这个标志出现的原因是 将数组的地址直接输出了
解决方法:
使用Arrays.toString()函数
代码如下:
import java.util.Arrays;
public class java_323 {
public static void main(String[] args) {
int [] N=new int [2];
char[] a =new char [1];
float[] b =new float [3];
double[] c =new double [1];
boolean[] d =new boolean [1];
String[] e =new String [1];
System.out.println("int型:"+Arrays.toString(N));
System.out.println("char型:"+Arrays.toString(a));
System.out.println("float型:"+Arrays.toString(b));
System.out.println("double型:"+Arrays.toString(c));
System.out.println("boolean型:"+Arrays.toString(d));
System.out.println("String型:"+Arrays.toString(e));
}
}
结果为:
参考来源:(https://blog.csdn.net/weixin_45906830/article/details/107954954)