Java
 Computer >> コンピューター >  >> プログラミング >> Java

JavaでtoString()メソッドをオーバーライドする目的

toString()の目的は何ですか Javaのメソッド?

クラスのオブジェクトを文字列として表現する場合は、toString()を使用できます。 オブジェクトのテキスト表現を返すメソッド。

オブジェクトを出力すると、デフォルトでJavaコンパイラがtoString()を呼び出します。 オブジェクトのメソッド。したがって、toString()をオーバーライドすることによって メソッドでは、意味のある出力を提供できます。

次の例でこの概念を見てみましょう:

toString()メソッドのオーバーライド

package io.devqa.tutorials;

public class ToStringExample {

    private String firstName;
    private String lastName;
    private String email;

    public ToStringExample() {

    }

    public String getFirstName() {
        return firstName;
    }

    public void setFirstName(String firstName) {
        this.firstName = firstName;
    }

    public String getLastName() {
        return lastName;
    }

    public void setLastName(String lastName) {
        this.lastName = lastName;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append("First name : ").append(this.firstName).append("\n");
        sb.append("Last name : ").append(this.lastName).append("\n");
        sb.append("Email : ").append(this.email).append("\n");
        return sb.toString();
    }

    public static void main(String args[]) {
        ToStringExample example = new ToStringExample();
        example.setFirstName("Testing");
        example.setLastName("Tester");
        example.setEmail("testing@tester.com");

        System.out.println(example);
    }
}

上記のコードは以下を出力します:

First name : Testing
Last name : Tester
Email : testing@tester.com

toString()をオーバーライドしなかった場合 メソッドの場合、出力は

io.devqa.tutorials.ToStringExample@60e53b93

ご覧のとおり、toString()をオーバーライドすることで メソッドを使用すると、オブジェクトの意味のあるプレゼンテーションを出力できます。


  1. JavaでのStringintern()メソッドの役割は何ですか?

    文字列は、文字のシーケンスを格納するJavaのクラスであり、 java.langに属します。 パッケージ。 Stringオブジェクトを作成すると、それらを変更することはできません(不変)。 ストレージ すべてのStringオブジェクトは、String Constant poolと呼ばれるヒープ領域の別のメモリ位置に格納されます。 。 文字列値を定義するときはいつでも、JVMは文字列定数プールに指定された値で文字列オブジェクトを作成します。したがって、上記のプログラムを実行すると、2つの文字列値が文字列定数プールに作成されます。 intern()メソッド このメソッドは、一意

  2. Javaでオーバーライドするメソッド

    オーバーライドとは、サブクラスタイプに固有の動作を定義する機能です。つまり、サブクラスは、その要件に基づいて親クラスのメソッドを実装できます。 オブジェクト指向の用語では、オーバーライドとは、既存のメソッドの機能をオーバーライドすることを意味します。 例 例を見てみましょう。 class Animal {    public void move() {       System.out.println("Animals can move");    } } class Dog extends Ani