如何在java hashset中打印类的对象



我正在尝试创建一个类的对象,并尝试将其存储在Hashset中,这很好。但当我试图打印它时,它显示了一些奇怪的值,比如";com.hashset2.java.Driver$TemplateSet@30f39991&";。在调试控制台中,我看到值插入正确。这是我的代码:

package com.hashset.java;
import java.util.HashSet;
import java.util.Scanner;
public class Driver {
public static void main(String[] args) {
HashSet<TemplateSet> numberSet = new HashSet<TemplateSet>();
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
for (int i = 0; i < n; i++)
{
int a, b;
a = scanner.nextInt();
b = scanner.nextInt();
numberSet.add(new TemplateSet(a, b));
}
}
public static class TemplateSet {
int n1, n2;
TemplateSet(int num1, int num2)
{
this.n1 = num1;
this.n2 = num2;
}
}
}

这是一个示例输出在此处输入图像描述

public static class TemplateSet {
int n1, n2;
TemplateSet(int num1, int num2)
{
this.n1 = num1;
this.n2 = num2;
}
//The toString() method is used by your print statement to convert Object to String format
@Override
public String toString()
{
return n1+","+n2;
}
}
// Java program to print the elements
// of HashSet using iterator cursor
import java.util.*;
class GFG {
public static void main(String[] args)
{
HashSet<Integer> hs = new HashSet<Integer>();
hs.add(5);
hs.add(2);
hs.add(3);
hs.add(6);
hs.add(null);
// print HashSet elements one by one.
// Inserton order in not preserved and it is based
// on hash code of objects.
// creates Iterator oblect.
Iterator itr = hs.iterator();
// check element is present or not. if not loop will
// break.
while (itr.hasNext()) {
System.out.println(itr.next());
}
}
}

最新更新