输出一个数组中的元素,我们通常用for循环来做,比如:
package test;
public class Test {
public static void main(String args[]){
int arr[]={1,2,3};
System.out.print("[");
for(int i=0; i<arr.length-1; i++)
System.out.print(arr[i]+",");
System.out.println(arr[arr.length-1]+"]");
}
}
输出的结果为:[1,3]。
但是Java提供了更为简单的方法,这就是toString方法。具体做法如下:
package test;
import java.util.Arrays;
public class Test {
public static void main(String args[]){
int arr[]={1,3};
System.out.println(Arrays.toString(arr));
}
}
输出的结果为:[1,3]。
但是如果数组中的元素不是同一类型怎么办呢?比如:
package test;
import java.util.Arrays;
public class Test {
public static void main(String args[]){
int[] arr={1,3};
String[] str={"aaa","bbb"};
Object[] array = {arr,str};
System.out.println(Arrays.toString(array));
}
}
输出的结果为:[[I@158f9d3,[Ljava.lang.String;@79a2e7]。
可以看到打印出来的不是数组元素,而是对象的内存代号。如果要打印出数组元素怎么办呢?这里我们可以用到deepToString。比如:
package test;
import java.util.Arrays;
public class Test {
public static void main(String args[]){
int[] arr={1,str};
System.out.println(Arrays.deepToString(array));
}
}
输出的结果:[[1,3],[aaa,bbb]]。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。