Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/393.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何编写像python这样的打印方法?_Java_Printing_Casting - Fatal编程技术网

Java 如何编写像python这样的打印方法?

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(

我想用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 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
这样的类型不是类,它们是原语。