Overriding Equals Method From Object Class
May 5, 2014
I am attempting to override the equals method from the Object class which checks if two variables point towards the same object. I want the method to check if if the argument being passed in(an object) has the same data(instance variables) as the object that's calling this method. A NullPointerException is being thrown; Here is the code.
package javaapplication5;
import java.text.NumberFormat;
import java.util.Scanner;
import java.lang.Object;
public class Product {
private String product;
private String description;
private double price;
[Code] ....
And here is the stack trace
Exception in thread "main" java.lang.NullPointerException
at javaapplication5.Product.equals(Product.java:42)
at javaapplication5.Product.main(Product.java:24)
Java Result: 1
View Replies
ADVERTISEMENT
Jan 7, 2014
I am trying to override the equals method for my class TeamMember I have two fields:
private Details details;
private double salary;
Code for override I get an error on salary saying cannot invoke equals (double) on the primitive type (double)
Is their something I am missing/coding wrong?
Java Code:
public boolean equals(Object obj) {
//test exceptional cases
//avoid potential NullPointerException/ClassCastException
if ((obj == null) || (this.getClass() != obj.getClass()))
return false;
TeamMember other = (TeamMember) obj; //cast to a TeamMember object
// compare fields details and salary
return this.details.equals(other.details)
&& this.salary.equals(other.salary);
} mh_sh_highlight_all('java');
View Replies
View Related
Oct 2, 2014
For a few days I've been reading about the importance of overriding the equals method. How overriding it actually determines or checks the values stored in the variable. I realize that you can check the values stored in the primitive datatypes with "==", and when you don't override the equals method it acts the same way, right? When used with a reference datatype, "==" or the default equals() method only compares, or sees, if the variable is pointing to the same instance of a class. For some reason, in the examples, what is taking place to actually check the values stored inside the variables.
Here is part of an example (I've added comments for things that are confusing me):
@Override
public boolean equals(Object obj) {
//So we use Object here instead of the class type
// we're overriding this equals method for?
Is this so that we can use it to check different types? (overloading?)
if (obj == this) {
return true;
//Isn't this checking to see if the calling object is the same as the object we're passing to it?
Why doesn't this return false?
}
if (obj == null || obj.getClass() != this.getClass()) {
return false;
}
//How exactly do we check the values stored in each object though?
}
View Replies
View Related
Mar 28, 2014
Create an equals method that takes an object reference and returns true if the given object equals this object.
Hint: You'll need 'instanceof' and cast to a (Geocache)
So far I have:
public boolean equals(Object O){
if(O instanceof Geocache){
Geocache j=(Geocache) O;
if (this.equals(j)) //I know this is wrong... but I can't figure it out
return true;
}
else return false;
}
I think I have it correct up to the casting but I don't understand what I'm suppose to do with the this.equals(). Also I'm getting an error that I'm not returning a boolean... I get this all the time in other problems. I don't get why since I have to instances of returning booleans in this. "returns true if the given object equals this object" makes no sense to me. I assume the given object, in my case, is 'O'. What is 'this' object referring to?
View Replies
View Related
Jul 29, 2013
class SubB{
public void foo(){
System.out.println(" x");
}
}
public class X extends SubB {
public void foo() throws RuntimeException{
super.foo();
if(true) throw new RuntimeException();
System.out.println(" B");
}
public static void main(String [] args){
new X().foo();
}
}
Why the foo method of class X is not throwing a compile error because according to the override rule, if the superclass method has not declared exception, the subclass method can't declare a new exception...
View Replies
View Related
Mar 26, 2015
How would I create a equals method to compare strings in a class that I'm creating. I need to create the method in my class, and then call it in a driver. How would I do this?
View Replies
View Related
Apr 21, 2014
I have two classes (Daughter and Son) that contain some very similar method definitions:
public class Family {
public static void main(String[] args) {
Daughter d = new Daughter();
Son s = new Son();
d.speak();
s.speak();
[Code] .....
Each of those classes has a "speak" method with two out of three lines being identical. I could move those into a parent class, but I need each of the child classes to continue to exhibit its unique behavior. I'm trying the approach below, which replaces the unique code with a call to a "placeholder" method that must be implemented by each child class:
public class Family {
public static void main(String[] args) {
Daughter d = new Daughter();
Son s = new Son();
[Code] .....
This works and moves the shared code from two places (the Daughter and Son classes) into one place (the new Mother class, which is now a parent class of Daughter and Son). Something about this feels a bit odd to me, though. It's one thing for a child class to override a parent class's methods to extend or alter their behavior. But, here, I've implemented an abstract method in the parent class to alter what happens when the parent class's method (speak(), in this case) is called, without overriding that parent class method itself.
View Replies
View Related
Feb 4, 2015
I want to know is there any way we can call parent class method using child class object without using super keyword in class B in the following program like we can do in c++ by using scoop resolution operator
class A{
public void hello(){
System.out.println("hello");
}
}
class B extends A{
public void hello(){
//super.hello();
System.out.println("hello1");
[code]....
View Replies
View Related
Aug 30, 2011
class One
{
public static void doStuff()
{
System.out.println("One");
}
}
class Two extends One
[code]....
My understanding of static says that static methods cannot be overrriden but the compilation of the above code results in Overriding rule violation error.
View Replies
View Related
Jul 17, 2014
Here is my code the whole program is working correctly but the Boolean equals and the has code and it is a requirement for the assignment. Why it is not working.
I know there are issues with the code I am new with java and was struggling so I have to clean my code up before I submit the assignment but for right now I have the out put the way I want it except the Boolean and hash code methods always output that the rectangles aren't equal even when I know they are and it outputs the not equal statement twice??
import java.awt.Color;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.Graphics;
import java.awt.Rectangle;
import java.util.Scanner;
[Code] ....
View Replies
View Related
May 20, 2015
In the process of creating a new class, I need to move my main method from the class SaveDate to the class DynamicTest. Below I have listed the code of both classes.The objective is to be able to run my program from the DynamicTest Class. I need understanding the process of moving my main method to a different class and creating an Object of a class and calling its method.
public class SaveData {
private static final Map<String, Object> myCachedTreeMap = new TreeMap<String, Object>();
public static final List<String> getLines(final String resourceParam, final Charset charset) throws IOException{
System.out.println("Please get: "+resourceParam);
if (myCachedTreeMap.containsKey(resourceParam) ) {
// Use the cached file, to prevent an additional read.
[Code] ......
View Replies
View Related
Jan 1, 2015
class Base
{
public Base rtc() {
System.out.println("am in parent");
return new Base();
}
}
class Ret extends Base
[Code] ....
Output :
I am in child class but b1.rtc requires b2 to hold the return value y not Ret's object.
View Replies
View Related
Mar 14, 2014
How do i print override the toString for WebBrowser as i would like to print out the object bc. Tested the program and it is fine if i put it in the main method rather than the WebBrowser constructor.
import java.util.*;
class ListNode <E> { /* data attributes */
private E element;
private ListNode <E> next;
/* constructors */
public ListNode(E item)
{ this(item, null);
[code]...
View Replies
View Related
Mar 26, 2014
I have to create a class that has two fields. One called length and the other width. I have to make a method that returns the tract area. Similarly, I also have to make a method that indicates whether two objects have the same fields. Here is the code that I have assembled...so far
// create private fields to hold width and length
private double width;
private double length;
[Code].....
My problem is encountered when writing that equals method
if(length.equals(object.length) && width.equals(object.width))
I get an error saying HTML Code: cannot invoke equals(double) on the primitive type double. Meanwhile, I do see, to realize that when I change my fields to capital "Double." The problem disappears; however, in my class I have never dealt with a situation where I have to use capital d in double. In fact, I don't even know what's the difference between Double and double. I do know what double is but not the other one..
View Replies
View Related
Nov 1, 2005
I don't know why class Object have two PROTECTED method -- clone() and finalize(). And in JUnit's source code, I notice that kent write :public class AClass extends Object {}I really don't understand what diffrient frompublic class AClass {}
View Replies
View Related
Oct 27, 2014
I have a class for employees. This class has basic information for the employee but no real pay information. And 2 subclasses, one for employee's paid for hourly rates and one for those paid a yearly salary. Each subclass has their own pay() method, that calculates and returns their pay and extra fields relative to calculate that.
I'm just curious, if I do this and create an object for an hourly paid employee like so:
Object hourly1 = new HourlyEmployeeWilson("John Doe", "123 Tech Street",361961,"Human Resources", 0,12.50,50);
How can I utilize that classes public method of pay() to gather this instance (or hourly paid employee)'s pay? I've tried doing so via:
System.out.println(hourly1.pay());
But I get
DriverPayWilson.java:9: error: cannot find symbol
System.out.println(hourly1.pay());
^
symbol: method pay()
location: variable hourly1 of type Object
1 error
View Replies
View Related
Mar 11, 2015
I need to debug the equals method implementation of a class I've made, but I cannot for the life of me get Netbeans' debugger to step into it. I can step into other methods from the class (most of which implement the methods in an interface) that are called in the main method (just like the equals method). I've tried...
-Disabling all the step filters
-Clearing the Netbeans cache
-Moving the call to the equals method out of the if statement it's in and just calling it as its own statement
-placing breakpoints within the equals method as well as on the call to the method
-placing a method breakpoint on the overridden equals method in addition to the other locations
-Using the shift-F7 version of the step into command
I'm using Netbeans 8.0.1 (I don't know if this is the latest version, but the last time I tried to update everything died and I had to completely remove NB and reinstall it) and JDK 8u05 (I think).
View Replies
View Related
Feb 26, 2015
I've been writing classes over and over for school. So I create a class outside of my main class. I create a new constructor and then create objects from my main class. I hope that makes sense. So i use methods in that class to work with the object. So I have an object name I've created <dot> method name. So I can create objects and then use methods from the class, but I'm wondering can I create a method in my main class and use it on that object? I don't understand how to do that.
View Replies
View Related
Jan 19, 2014
Write a class encapsulating the concept of a course grade, assuming a course grade has the following attributes: a course name and a letter grade. Include a constructor, the accessor and mutator, and methods toString and equals.Write a client class to test all the methods in your class.
how to test and finish the toString and equals method in this code ?
package labmodule7num57;
import java.util.*;
public class LabModule7Num57 {
// Constructors//
private String name;
private String letterGrade;
public LabModule7Num57 (String name,String letterGrade) {
[code]....
View Replies
View Related
Apr 18, 2014
I am having trouble using the equals method to return the appropriate value using standard arithmetic.
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.FlowLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
[Code] ....
I know that "inText.setText(Integer.toString(secondOperand));" in the code is wrong, I just don't know the right code...
View Replies
View Related
Jul 9, 2014
Modify class Time2 to include a tick method that increments the time stored in a Time2 object by one second. Provide method incrementMinute to increment the minute and method incrementHour to increment the hour. The Time2 object should always remain
a) incrementing into the next minute,
b) incrementing into the next hour and
c) incrementing into the next day (i.e., 11:59:59 PM to 12:00:00 AM).
how to manage case 4 stuff and what's the problem of this CODE.
import java.util.Scanner;
public class Time2Test
{
public static void main( String args[] )
{
Scanner input = new Scanner( System.in );
Time2 time = new Time2();
// input
System.out.println( "Enter the time" );
System.out.print( "Hours: " );
time.setHour( input.nextInt() );
[code]....
View Replies
View Related
Dec 13, 2014
Assuming that we have two classes B and C which inherit from class A. What is the best way to pass a parameter from an object of class B to an object of class C by the use of class A without using static variable and without defining a get function in B?
View Replies
View Related
Apr 8, 2014
Suppose you have a generic Dog class of the pet type that implements a DogInterface of the pet type. What is the difference between;
DogInterface<pet> Rex = new Dog<pet>();
and
Dog<pet> Tye = new Dog<pet>();
In what situations might you want to use Rex instead of Tye?
View Replies
View Related
Mar 24, 2014
"You might wonder what happens when a static synchronized method is invoked, since a static method is associated with a class, not an object. In this case, the thread acquires the intrinsic lock for the Class object associated with the class. "What is a Class object associated with a class. Google search rather finds material about the Object class.
View Replies
View Related
Mar 5, 2014
Which method is used while passing or returning a java object from the native method?
View Replies
View Related
Oct 26, 2014
I've been trying to learn Java for the last 36 hours or so (after applying for a HTML/CSS job saying "Java knowledge preferred"), and decided to experiment a bit making a graphical tic-tac-toe game. I eventually managed to get that done and it's working. Working code below:
[Java] tic tac toe 1 - Pastebin
So, it works to an extent, however, the way I am capturing which cell is selected seems very sloppy, and would not work if the cells weren't squares or rectangles. So I made a copy of the project and restructured it adding the mouse event to the cells, but now I can't get JComponent to repaint. New code below:
tic tac toe 2 - Pastebin
Curiously, clicking triggers the action for all 9 cells, but I presume it's because I haven't bounded them making it think I've clicked all 9 simultaneously.
What I've tried:
Make the Cell class extend the game class and call this.repaint()- causes stack overflow.
Calling Game.GameState() within the cell clicking event and making that function static - compiler doesn't like calling repaint() inside a static function.
Making another class to make a clone of the Game object and then refresh- was never going to work....
View Replies
View Related