Java 如何编写像python这样的打印方法?
我想用java编写一个方法,就像我在python中使用它一样,但它会打印num的地址intead: 代码如下: 我可以使用print(1,2,3)或print(obj[]),但不能使用print(int[]) 当我使用整数[]num={1,2,3,4,5};输出是正确的 如何像python一样打印(int[])Java 如何编写像python这样的打印方法?,java,printing,casting,Java,Printing,Casting,我想用java编写一个方法,就像我在python中使用它一样,但它会打印num的地址intead: 代码如下: 我可以使用print(1,2,3)或print(obj[]),但不能使用print(int[]) 当我使用整数[]num={1,2,3,4,5};输出是正确的 如何像python一样打印(int[]) public class Print { public static void print() { System.out.println(
public class Print {
public static void print() {
System.out.println();
}
public static void print(Object... obj) {
for(Object c:obj){
System.out.print(c);
System.out.print(" ");
}
System.out.println();
}
public static void print(Object obj) {
System.out.println(obj);
}
public static void main(String[] args){
int[] num={1,2,3,4,5};
print(num);
}
}
要显示数组内容,可以使用:
System.out.println(Arrays.toString(num));
输出:
[1, 2, 3, 4, 5]
看到“地址”的原因是,基本数组int[]
是一个对象,而不是第一个print
方法中使用的Object[]
。所以
public static void print(Object obj)
被称为
要使第一种方法发挥作用,您必须使用以下方法:
public static void print(int[] nums {
for (int num : nums) {
System.out.print(num);
System.out.print(" ");
}
System.out.println();
}
或者,如果上述输出格式是可接受的:
public static void print(int[] nums) {
System.out.println(Arrays.toString(nums));
}
print(Object…obj)
基本上就是print(Object[]obj)
。如果未传递对象[]
,则将使用打印(对象obj)
int
是一个原语,它继承自Object
,因此您的int[]
是not一个对象[]
。您可以使用包装类Integer
创建一个Integer[]
,或者必须实现print(int[]ints)
print(1,2,3)
之所以有效,是因为参数会自动转换为Integer
s。能否显示您要查看的输出示例?print(num);输出:1 2 3 4 5就像python中的print方法一样,我想在print方法'int[]中写入它,因为它是单个对象而不是对象数组,所以导致调用第三个方法。在我的更新中提供了一些打印的建议。:)@user1648947实际上是对的:每个类都从对象继承。然而,像int
这样的类型不是类,它们是原语。