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

Javaを使用して配列のtoStringメソッドをオーバーライドすることは可能ですか?


toString()をオーバーライドできます Objectクラスのメソッドですが、特定のクラスのオブジェクト配列を作成していて、の代わりにtoString()メソッドをオーバーライドしてこの配列の内容を出力したい場合は、Javaでその解決策がないことを行うことはできません。現在。

しかし、他のさまざまな方法を使用してこれを達成できます-

ArraysクラスのtoString()メソッドの使用

toString() Arraysクラスのメソッドは、String配列(実際には任意の配列)を受け入れ、それをStringとして返します。 String配列をパラメーターとしてこのメ​​ソッドに渡します。オブジェクトの配列をこのメソッドに渡すだけです。

import java.util.Arrays;
class Student {
   String name = "Krishna";
   int age = 20;
   Student(String name, int age) {
      this.name = name;
      this.age = age;
   }
   public String toString() {
      return "Name: "+this.name+" "+"Age: "+this.age;
   }
}
public class Example {
   public static void main(String args[]) {
      Student std1 = new Student("Krishna", 20);
      Student std2 = new Student("Radha", 25);
      Student std3 = new Student("Trupthi", 30);
      Student std4 = new Student("David", 35);
      Student std5 = new Student("Moksha", 40);
      Student students[] = {std1, std2, std3, std4, std5};
      System.out.println(Arrays.toString(students));
   }
}

出力

[Name: Krishna Age: 20, Name: Radha Age: 25, Name: Trupthi Age: 30, Name: David Age: 35, Name: Moksha Age: 40]

ArraysクラスのasList()メソッドの使用

このメソッドは、引数として配列を受け入れ、Listオブジェクトを返します。このメソッドを使用して、配列をSetに変換します。

import java.util.Arrays;
class Student {
   String name = "Krishna";
   int age = 20;
   Student(String name, int age) {
      this.name = name;
      this.age = age;
   }
   public String toString() {
      return "Name: "+this.name+" "+"Age: "+this.age;
   }
}
public class Example {
   public static void main(String args[]) {
      Student std1 = new Student("Krishna", 20);
      Student std2 = new Student("Radha", 25);
      Student std3 = new Student("Trupthi", 30);
      Student std4 = new Student("David", 35);
      Student std5 = new Student("Moksha", 40);
      Student students[] = {std1, std2, std3, std4, std5};
      System.out.println(Arrays.asList(students));
   }
}

出力

[Name: Krishna Age: 20, Name: Radha Age: 25, Name: Trupthi Age: 30, Name: David Age: 35, Name: Moksha Age: 40]

ArrayListクラスの使用

これは少し異なりますが、解決策-

  • ArrayListクラスを拡張するクラスを作成します。

  • このクラスにオブジェクトを追加します。

  • toString()を使用します 内容を出力するためのArrayListクラスのメソッド。

import java.util.ArrayList;
import java.util.Arrays;
class Student {
   String name = "Krishna";
   int age = 20;
   Student(String name, int age) {
      this.name = name;
      this.age = age;
   }
   public String toString() {
      return "Name: "+this.name+" "+"Age: "+this.age;
   }
}
public class Example extends ArrayList<Object> {
   public static void main(String args[]) {
      Example obj = new Example();
      obj.add(new Student("Krishna", 20));
      obj.add(new Student("Radha", 25));
      obj.add(new Student("Trupthi", 30));
      obj.add(new Student("David", 35));
      obj.add(new Student("Moksha", 40));
      System.out.println(obj.toString());
   }
}

出力

[Name: Krishna Age: 20, Name: Radha Age: 25, Name: Trupthi Age: 30, Name: David Age: 35, Name: Moksha Age: 40]

  1. Javaを使用してJSON配列を作成/作成する方法は?

    Json配列は、角かっこで囲まれた順序付けられた値のコレクションです。つまり、「[」で始まり、「]」で終わります。配列の値は「、」(コンマ)で区切られます。 サンプルJSON配列 {    "books": [ Java, JavaFX, Hbase, Cassandra, WebGL, JOGL] } json-simpleは、JSONオブジェクトを処理するために使用される軽量ライブラリです。これを使用すると、Javaプログラムを使用してJSONドキュメントのコンテンツを読み書きできます。 JSON-単純なMaven依存関係 以下は、JSON-si

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

    toString()の目的は何ですか Javaのメソッド? クラスのオブジェクトを文字列として表現する場合は、toString()を使用できます。 オブジェクトのテキスト表現を返すメソッド。 オブジェクトを出力すると、デフォルトでJavaコンパイラがtoString()を呼び出します。 オブジェクトのメソッド。したがって、toString()をオーバーライドすることによって メソッドでは、意味のある出力を提供できます。 次の例でこの概念を見てみましょう: toString()メソッドのオーバーライド package io.devqa.tutorials; public class T