Tag: 对象

为什么即使我的hashcode值相同,’==’也会返回false

我写了一个类似的课程 public class HashCodeImpl{ public int hashCode(){ return 1; } public static void main(String[] args) { // TODO Auto-generated method stub HashCodeUtil h= new HashCodeUtil(); HashCodeUtil h1= new HashCodeUtil(); System.out.println(h.hashCode()); System.out.println(h1.hashCode()); System.out.println(h); System.out.println(h1); System.out.println(h==h1); } } 输出: 1 com.manu.test.HashCodeUtil@1 com.manu.test.HashCodeUtil@1 false 我的问题是:当我的hashCode方法返回相同的值时,为什么System.out.println(h==h1); 是假的? 请解释。

如何使用多个类的序列化实现备份和还原?

我试图序列化我存储在JTable中的对象(名称和注释)。 我希望能够将此信息保存到文件中,当我加载程序时,信息应该加载到JTable中。 当我单击备份按钮时,正在创建一个文件,但没有存储数据。 有人可以指导我正确的方向,告诉我我做错了什么? 我的代码如下: import java.awt.BorderLayout; import java.awt.Color; import java.awt.EventQueue; import javax.swing.JFrame; import java.awt.CardLayout; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JTabbedPane; import javax.swing.JTable; import javax.swing.JTextField; import javax.swing.table.DefaultTableModel; import javax.swing.JButton; import java.awt.event.ActionListener; import java.awt.event.ActionEvent; public class tableTest { private JFrame frame; private JTable table; private JTextField notesTextField; private JTextField nameTextField; private List l; public tableTest() { […]

在if语句中创建对象并在以后使用它

我正在为Infix表示法编写一个Parser。 在if语句中,我声明了变量newchild。 否则我希望它抛出exception。 但是当我超出范围时,编译器不再知道变量。 我无法在if语句之前声明它,因为根据我们所处的情况,变量被赋予不同的数据类型。 我该怎么做才能解决这个问题? public class ParserForInfixNotation { public Node parse(List tokenList) { Stack myStack = new Stack(); int i =1; while(i i+3){ //die Klammer muss mindestens 2 Stellen enthalten anzahlklammern–; j++; } else if(tokenList.get(j) == “(“){ anzahlklammern++; j++; } else if ((Character.isDigit(tokenList.get(j).charAt(1))) || tokenList.get(j) == “+” || tokenList.get(j) == “*” || tokenList.get(j) […]

初始化2维对象数组时的ArrayIndexOutOfBoundsException

我有一个非常简单的问题,但我无法弄清楚为什么我有这个例外。 我正在尝试为数独谜题创建一个二维数组对象,但是当我初始化时,我得到的是ArrayIndexOutOfBoundsException 。 请帮助,我已经阅读了类似的问题,它应该工作! 这里我要声明网格(使用的二维对象数组和构造函数): public class Sudoku extends javax.swing.JFrame { private int lines; Cell[][] grid; public Sudoku() { initComponents(); grid = new Cell[lines][lines]; 所以,当我按下按钮设置线条(尺寸长度)时,如下所示 private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) { lines=10; makeGrid(lines); } 我得到了例外: Exception in thread “AWT-EventQueue-0” java.lang.ArrayIndexOutOfBoundsException: 0 at Sudoku.makeGrid(Sudoku.java:146) public void makeGrid(int size) { for(int i=0;i<size;i++) for(int j=0;j<size;j++) { 146: grid[i][j] = […]

对象类和数组 – 为什么它返回’null’? 【JAVA]

我写了一个小类,创建一个包含3个数组的报表对象。 在创建对象时,这些数组使用值进行初始化。 但是,当我测试类以查看departments数组中的内容时,它会打印出数组元素为null。 为什么? class Report { // declare instance variables (arrays) public String[] departments = new String[4] ; public double[] grossTotals = new double[4] ; public double[] taxTotals = new double[4] ; // constructor public Report(){ // declare, create and initialise all in one statement String[] departments = {“Accounting”, “Sales”, “HR”, + “Administration”} ; […]

从文本文件将数据输入动态数组时出现NullPointerException

我正在建立一个投票系统,用户使用他们的学号登录并进行选择。 一旦有人投票,他们就无法再次登录。 我做了一个对象; 学生,包含学生编号的字符串和该学生编号是否已经投票的布尔值(均为私人)。 我制作了一个这种类型的动态数组,以便通过使用扫描仪读取的文本文件接受给定数量的学生。 但是,当我尝试填充对象数组中的学生编号字符串时,我得到一个NullPointerException。 Scanner IS从文本文件中读取信息,但是当我尝试将信息放入Student对象的私有字符串时,会发生错误。 当我使用一个字符串数组时,一切正常,但我没有布尔值来判断某人是否已经投票。 我对编程很陌生,不知道问题是什么。 有人可以解释一下有什么问题以及如何修复它? 读取文本文件并填充数组的方法(学生是全局声明和构造的,最初的大小为0): public static void getStudentNumbers(){ int a = 0; while(fileReader.hasNext()){ if (a >= students.length) { int newSize = 1 + students.length; Student[] newData = new Student[newSize]; System.arraycopy(students, 0, newData, 0, students.length); students = newData; } students[a].setStudentNumber(fileReader.nextLine()); //Error occurs here a++; } } 学生对象: public […]

按类引用字段和按对象调用字段有什么区别?

我注意到有些时候用Java编写的代码我看过方法调用的字段: System.out.println(object.field); 按class级分类: System.out.println(Class.field); 在我的教科书中,我没有看到任何关于这两种情况的语义是什么的明显区别,我担心,至少对于一个菜鸟来说,这将是一个微妙的观点。 我的直觉是类调用将用于静态字段? 多谢你们。 如此多的con’foo’sion。

Java程序不会向ArrayList添加对象

我正在尝试将不同的对象添加到ArrayList ,但它无法正常工作。 我不确定是不是因为我正在错误地添加对象或者是否有其他错误。 这是我的代码。 import java.util.*; import java.io.*; public class QuizBowl implements Quiz { private Player player; // player object private String file; // name of file private int qNum; // number of questions player wants to answer private int qNumFile; // number of questions in file private ArrayList questionsArr; // holds Question objects private […]

对象创建语法之间的区别

请解释对象一和二之间的区别: car one = new opel(); opel two = new opel(); 类欧宝扩展了类车。

Multimap Java的多重映射 – 对时间表进行分类

我已经解析了一个HTML时间表并将每个Subject加载到我的类对象中。 所以我有我的主题的arrayList,其中包含姓名,老师,…,HOUR和DAY的信息,现在我想要重建表格,所以我需要先对它进行分类。 我认为最好是这样的结构: Monday: 1: Math, Czech, … 2: History … Tuesday: 1: English, Geo 2… … 在给定的时间内可能有多个主题,因此我尝试使用Multimap的Multimap,但我无法在解析期间声明它。 Multimap<String, Multimap> timetable = HashMultimap.create(); … for … timetable.put(subject.den, new HashMultimap(subject.hod, subject)); 但它说HashMultimap有私人访问com.google.common …我不知道如何正确地写这个。 我也在考虑使用Array,但我必须预先声明它,我想在一个循环中构建它。 有任何想法吗? 先感谢您