目次:
ビデオ: Macro Recording and UI Automation Wizards - UiPath 2.1 2024
toString
メソッドは、Javaのオブジェクトの
String
表現を返します。デフォルトでは、
toString
メソッドはオブジェクトのクラス名とハッシュコードを返します。ここでは、
toString
メソッドの使い方と、それを独自のクラスでオーバーライドしてより有用な文字列を作成する方法を説明します。
JavaでのtoStringの使用
toString
メソッドを動作させる単純なプログラムです:
"
"Employee emp = new Employee"アンソニー ");
システム。でる。 println(emp。toString());
}
}
クラスEmployee
{
プライベートString lastName;
<! - 2 - >
プライベートString firstName;
public Employee(String lastName、String firstName)
{
これ。 firstName = firstName;
}
}
このコードは新しい
Employee
オブジェクトを作成します。その
toString
メソッドの結果がコンソールに出力されます。このプログラムを実行すると、コンソールに次の行が出力されます。
<! - 9 - >
Employee @ 82ba41
注:
ハッシュコード(この場合、
)は間違いなくあなたのシステムでは異なるでしょう。
この例では、 toString
への明示的な呼び出しは実際には必要ないことが判明しました。
Main
メソッドの2行目を
Systemのように簡単に書くことができます。でる。 println(emp);
println
メソッドは、それを渡すオブジェクトの
toString
メソッドを自動的に呼び出します。
JavaのtoStringのオーバーライド
toString
のデフォルトの実装は、ほとんどの場合あまり役に立ちません。たとえば、
Employee
オブジェクトについて実際にハッシュコードを見ることで多くのことを学ぶことはありません。
toString
メソッドが、従業員の名前など、オブジェクトから実際のデータを返した場合は、それが良いとは限りませんか?
これを行うには、クラスの
toString
メソッドをオーバーライドする必要があります。実際、Javaにおけるオブジェクト指向プログラミングの基本的なガイドラインの1つは、常に
toString
を
上書きすることです。
toString をオーバーライドする Employee
クラスを持つシンプルなプログラムがあります:
public class TestToString
public static void main(String [] args)
{
従業員emp =新しい従業員( "Martinez"、
"Anthony");
システム。でる。 println(emp。toString());
}
}
クラスEmployee
{
プライベートString lastName;
プライベート文字列firstName;
public Employee(String lastName、String firstName)
{
これです。lastName = lastName;
これ。 firstName = firstName;
}
public String toString()
{ return "Employee ["
+ this。 firstName + ""
+これです。 lastName + "]";
}
}
このプログラムを実行すると、コンソールに次の行が表示されます。
Employee [Anthony Martinez]
出力はクラス名とそれに続くいくつかのデータ角括弧内のオブジェクトからこの規約は、Javaプログラミングでは一般的です。
上記の例の唯一の問題は、クラス名が
toString
メソッドにハードコードされていることです。
getClass
メソッドを使用すると、実行時に実際のクラス名を取得できます。
public String toString()
{
これを返します。 getClass()。 getName()+ "[" "
+これです。 firstName + ""
+これです。 lastName + "]";
}
ここで
getClass
メソッドは、現在のオブジェクトのクラスを表す
Class
オブジェクトを返します。次に、
Class
オブジェクトの
getName
メソッドを使用して、実際のクラス名を取得します。