logo

طريقة جافا toString ().

إذا كنت تريد تمثيل أي كائن كسلسلة، طريقة toString (). يأتي إلى الوجود.

تقوم طريقة toString() بإرجاع تمثيل السلسلة للكائن.

إذا قمت بطباعة أي كائن، فسيستدعي مترجم Java داخليًا طريقة toString() على الكائن. لذا فإن تجاوز طريقة toString () يؤدي إلى إرجاع الإخراج المطلوب، ويمكن أن يكون حالة الكائن وما إلى ذلك اعتمادًا على التنفيذ الخاص بك.

كات تيمبف صافي القيمة

الاستفادة من طريقة Java toString ().

من خلال تجاوز طريقة toString() لفئة الكائن، يمكننا إرجاع قيم الكائن، لذلك لا نحتاج إلى كتابة الكثير من التعليمات البرمجية.

فهم المشكلة بدون طريقة toString()

دعونا نرى الكود البسيط الذي يطبع المرجع.

Student.java

 class Student{ int rollno; String name; String city; Student(int rollno, String name, String city){ this.rollno=rollno; this.name=name; this.city=city; } public static void main(String args[]){ Student s1=new Student(101,'Raj','lucknow'); Student s2=new Student(102,'Vijay','ghaziabad'); System.out.println(s1);//compiler writes here s1.toString() System.out.println(s2);//compiler writes here s2.toString() } } 

انتاج:

حذف بوابة الالتزام الأخيرة
 Student@1fee6fc Student@1eed786 

كما ترون في المثال أعلاه، تؤدي طباعة s1 وs2 إلى طباعة قيم رمز التجزئة للكائنات ولكني أريد طباعة قيم هذه الكائنات. نظرًا لأن مترجم Java يستدعي طريقة toString() داخليًا، فإن تجاوز هذه الطريقة سيؤدي إلى إرجاع القيم المحددة. دعونا نفهم ذلك من خلال المثال الموضح أدناه:

مثال على طريقة Java toString()

دعونا نرى مثالاً على طريقة toString().

Student.java

عمر دارميندرا
 class Student{ int rollno; String name; String city; Student(int rollno, String name, String city){ this.rollno=rollno; this.name=name; this.city=city; } public String toString(){//overriding the toString() method return rollno+' '+name+' '+city; } public static void main(String args[]){ Student s1=new Student(101,'Raj','lucknow'); Student s2=new Student(102,'Vijay','ghaziabad'); System.out.println(s1);//compiler writes here s1.toString() System.out.println(s2);//compiler writes here s2.toString() } } 

انتاج:

 101 Raj lucknow 102 Vijay ghaziabad 

في البرنامج أعلاه، يستدعي مترجم Java داخليًا إلى سلسلة() الطريقة، سيؤدي تجاوز هذه الطريقة إلى إرجاع القيم المحددة لـ S1 و s2 كائنات فئة الطالب.