JAVA toString方法详解

JAVA toString方法

在Java中,我们经常会编写许多自定义类。在使用时,我们如何打印出这些类中实例变量?

class  value {
    private int s;
    public void set(int i) {
        this.s = i;
    }
    public int get() {
        return this.s;
    }
}

在上例中,我们编写了一个简单的类,该类中包含一个属性 s ,在使用时我们可以用方法set()、get()来实现对属性s 的赋值和获取。但在Java中给我们提供了一种更加有效快捷方法来打印类中属性。

to String()方法

to String()方法是Object类中的方法,而Java中所有的类都继承了object类。我们在使用时可以将其重写。那么,to String方法如何使用呢?

class test{
    int m;
    public test(int m) {
        this.m = m;
    }
    public test() {
    }
    public void setM(int m) {
            this.m = m;
        }
    @Override
    public String toString() {
        return "test{" +
                "m=" + m +
                '}';
    }
} 
public static void main(String[] args) {
        test tests = new test(10);
        System.out.println(tests);
}

首先,我们在test类中重写了toString()方法;然后在打印时直接在println()中输入类对象名。
运行后便会打印出test类中的属性。

通过上面的例子,我们看到to String()方法会返回一个String类型的数据。
在官网的注释toStirng():
toString用于类 的方法Object 返回一个字符串,该字符串由对象作为实例的类的名称,符号字符“ @”和对象的哈希码的无符号十六进制表示组成。
当然,用户也可以自己改变输出的字符串。

to String()方法与数组

在数组中,也会使用到 to String()方法。

        int[] a={1,3,4,56,6};
        System.out.println(Arrays.toString(a));

运行后打印出该数组的内容。
上例中,可以通过to String()方法打印出数组的内容,在使用时调用的时Arrays类中的to String()方法。

to String()方法与对象数组

to string()方法能够输出数组的内容。那么,是否能输出对象数组呢?

class  value {
    private int s;
    public void set(int i) {
        this.s = i;
    }
    public int get() {
        return this.s;
    }
    @Override
    public String toString() {
        String s = "value{" +
                "s=" + this.s +
                '}';
        return s;
    }
}  
public static void main(String[] args) {
        value [] ta=new value[10];//对象数组
        for (int i=0;i<ta.length;i++){//初始化对象
            ta[i]=new value();
            ta[i].set(i);
        }
        System.out.println(Arrays.toString(ta));//数组使用是要用Arrays类 
}

运行结果:
在这里插入图片描述
从上例中我们看到,对象数组依然可以使用toi String()方法输出。但是,在使用时要重写类中的to String()方法,并且在调用方法时要调用Arrays类中的to String()方法。
小结:
1、to String()方法用途广泛,可以输出数组的内容和类中的属性。
2、to String()方法与类使用要重写该方法,可自定义输出内容。
3、to String() 方法与数组使用时,调用Arrays中的to string()方法。
4、to String()方法还可以用于对象数组,使用时既要在类中重写to String()方法又要调用Arrays类的to String()方法。

  • 112
    点赞
  • 697
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
### 回答1: 在Java中,toString() 方法是 Object 类中定义的一个方法toString() 方法的作用是返回对象的字符串表示。在没有重写 toString() 方法时,默认情况下返回的字符串表示为“类名@哈希码”的形式。 重写 toString() 方法可以自定义返回的字符串,使得输出的信息更具有可读性。 ### 回答2: Java中的tostring()方法是Object类的一个方法,它的作用是将对象转换成字符串。 在Java中,每个对象都可以调用toString()方法来获得一个字符串表示。默认情况下,该方法返回对象的类名和哈希码,例如:com.example.MyObject@19821f。这种表示并不十分直观,不能够反应对象的真实含义,因此需要我们来自定义该方法。 我们可以通过重写toString()方法来改变默认行为,使得对象在调用该方法时返回一个更人性化、更能够反应其实际含义的字符串表示。例如: ```java public class Student { private String name; private int age; private String gender; public Student(String name, int age, String gender) { this.name = name; this.age = age; this.gender = gender; } @Override public String toString() { return "Student{" + "name='" + name + '\'' + ", age=" + age + ", gender='" + gender + '\'' + '}'; } } ``` 在上述代码中,我们重写了Student类的toString()方法,使其返回一个包含对象属性信息的字符串。这样,当我们需要输出一个Student对象时,直接调用该方法即可得到一个直观、易于理解的字符串表示。 在实际编程中,tostring()方法是非常重要和有用的。它可用于快速调试和程序的输出,可以帮助我们检查代码和数据是否正确,同时也可以为其他程序员提供帮助。在面向对象的编程中,正确的实现toString()方法能够大大提高代码可读性和可维护性,因此,它是不可或缺的一部分。 ### 回答3: Java中的toString方法是Object类中的一个方法,它的主要作用是将一个对象转换成一个字符串,便于输出或者其他操作。在Java中,每个类都继承了Object类,因此都可以调用toString方法。 默认情况下,toString方法返回的是对象的类名和地址值。但是,我们可以根据具体的需求重写该方法,使其返回我们想要的字符串。 例如,我们可以在自定义的类中重写toString方法,使其返回对象的属性信息,方便我们进行调试、输出或者其他操作。如果没有重写该方法,默认返回的是对象的类名和地址值,这在实际开发中没有多大实用性。 另外,在Java中,System.out.println方法会自动调用对象的toString方法进行输出。因此,如果我们想要在控制台输出一个对象,可以直接调用System.out.println(obj),这样就会自动调用对象的toString方法进行输出。 总之,toString方法Java中非常重要,它可以方便我们进行调试、输出或者其他操作。因此,我们需要在适当的时候重写该方法,以实现我们的需求。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值