我正在制作一个程序,创建一个名为Student的新类,该类设置并获取一些不同的变量。我基本上所有的东西都在工作,除了当我试图将正确打印的数组元素存储到我的ArrayList中时,我得到的是哈希代码。我相信改变一两件小事就能解决问题,但我无能为力。感谢您的任何建议!
主要:
Student st = new Student();
Student();
}
public static void Student() {
System.out.println("Enter the data for student 1 :");
Student st = new Student();
Scanner keyboard = new Scanner(System.in);
String name = keyboard.next();
double GPA = keyboard.nextDouble();
boolean enrolled = keyboard.nextBoolean();
String date = keyboard.next();
for (int i = 0; i<5; i++){
Student newStudent = new Student();
newStudent.setName(name);
newStudent.setGPA(GPA);
newStudent.setEnrolled(enrolled);
newStudent.setDate(date);
ArrayList <Student> strList = new ArrayList<Student>();
Student student[] = new Student[5];
newStudent.getName();
newStudent.getGPA();
newStudent.getEnrolled();
newStudent.getDate();
newStudent.toString();
student[i] = newStudent;
ArrayList myList = new ArrayList();
myList.add(student[i]);
System.out.println(student[i].getName());
System.out.print(student[i].getGPA());
System.out.print(student[i].getEnrolled());
System.out.print(student[i].getDate());
System.out.println(myList);
}
}
学生班级:
public class Student {
private String name;
private double gpa;
private boolean enrolled;
private String date;
public Student() {
this.name = "";
this.gpa = 0.0;
this.enrolled = false;
this.date = "none";
}
public Student(String name1) {
this.name = name1;
this.gpa = 0.0;
this.enrolled = false;
this.date = "none";
}
public void setName(String name) {
this.name = name;
}
public String getName() {
return this.name;
}
public void setGPA(double gpa) {
this.gpa = gpa;
}
public double getGPA() {
return this.gpa;
}
public void setEnrolled(boolean enrolled) {
this.enrolled = enrolled;
}
public boolean getEnrolled() {
return this.enrolled;
}
public void setDate(String date) {
this.date = date;
}
public String getDate(){
return this.date;
}
}
当您尝试打印阵列列表时,请使用此行,
System.out.println(myList);
调用了
toString()
。它试图通过(最终)在学生
上调用toString()
将其每个项转换为字符串。您不重写
toString()
,因此您看到的“哈希代码”是对象中的默认
toString()
。
重写
toString()
,将学生
转换为字符串
。
@Override
public String toString()
{
// Construct a String here that is appropriate for this class.
// Return it!
}
数组本身不会使用toString
方法打印其内容。相反,使用数组。toString(yourArrayVar)
或数组。deepToString(yourArrayVar)
。
另外,不要忘记在你的学生类中重写toString
方法,否则它将使用Object#toString
,结束以这种格式打印数据(来自JavaDoc):
getClass()。getName()“@”整数。toHexString(hashCode())
我已经创建了几个对象,我想在ArrayList中只打印对象的一个参数: 我要打印:
我想获取一个Javascript对象并将其转换为哈希数组。 以下操作仅获取对象的一个元素并将其转换为数组: 返回: 但是,当我试图创建散列元素来组成数组时,出现了一个错误: 返回: 我做错了什么?
所以,我有一个带有数组的哈希,就像这样: 我想将它们合并到一个哈希数组中,组合相应的元素。 结果应该是这样的: 知道如何有效地做到这一点吗? 请注意,真实世界的使用场景可能包含数量可变的散列键。
问题内容: 我对Redis还是很陌生,希望看看是否有可能。想象一下我正在接收这样的数据: 并为另一个帐户接收此数据: 我想以类似的格式将这些数据保留在Redis中: 对于xyz: 所以问题是我应该使用哪种数据类型来存储此Redis? 问题答案: 如果您的目标是检查是否用作该帐户的解决方案,则解决方案应类似于: 样本数据 执行此操作( 使用redis集 ): 然后,您可以通过以下命令检查是否用作该帐
问题内容: 我想在redis中存储哈希数组,最好的编码方法是什么? 问题答案: AFAIK的唯一方法是取消引用它们。假设您有2个散列数组,例如:。 您将它们分别存储,然后创建一个引用它们全部的SET: 然后,您可以通过查询set:来检索它们全部,然后调用所有返回的键来重建原始的哈希数组。 我希望这是有道理的。而且,如果您找到了更聪明的方法,我将很高兴听到。
我正在尝试使用方法,但它正在重新生成类的对象哈希代码,例如: 但是,我可以检索用户。没有任何问题和所有关系的专业知识: 这是我的Gson方法: 这是我的MyTypeAdapter: } 那么,如何让实际返回一个Json字符串,以便我可以使用Gson. FromJson在我的另一端?提前谢谢。