Popular Posts

Monday, February 23, 2009

Exercise 9.6: Comparing Objects

Introduction:

In this exercise, you will exercise the concept of comparing objects using String class as an example.

Steps to follow:

1. Write EqualsTestString.java as shown in Code 9-6.a below. Please make sure you read the comments. (You are welcome to do this work using either command line tools or NetBeans. The instruction here is given using command line tools. In general, using NetBeans is highly recommended.)

* cd \myjavaprograms
* jedit EqualsTestString.java


class EqualsTestString {
public static void main(String[] arguments) {

// Declare two String type variables, str1 and str2
String str1, str2;

// Initialize the variables. Note that the variables contain
// pointers to the actual object instances.
str1 = "Life is worth living... with Passion!";
str2 = str1;

// Display the values of the str1 and str2 variables
System.out.println("String1: " + str1);
System.out.println("String2: " + str2);

// The "==" notation, when it is used with variables of reference types not
// primitive types, means whether the variables point to the same object
// instance or not.

// Check if str1 and str2 are the same object meaning if the two variables
// points to the same String type object instance.
System.out.println("Same object? " + (str1 == str2));

// Reinitialize str2 variable. It is now pointing to a new String type object instance.
str2 = new String(str1);

// Display the values of the str1 and str2 variables
System.out.println("String1: " + str1);
System.out.println("String2: " + str2);

// Check if str1 and str2 are the same object meaning if the two variables
// points to the same String type object instance.
System.out.println("Same object? " + (str1 == str2));

// Check if str1 and str2 have the same vaule
System.out.println("Same value? " + str1.equals(str2));
}
}
Code-9.6.a: EqualsTestString.java

2. Compile and run the code

* javac EqualsTestString.java
* java -classpath . EqualsTestString

3. Verify the result is as following.

* C:\myjavaprograms>java -classpath . EqualsTestString
String1: Life is worth living... with Passion!
String2: Life is worth living... with Passion!
Same object? true
String1: Life is worth living... with Passion!
String2: Life is worth living... with Passion!
Same object? false
Same value? true

Homework:

1. Write EqualsTestInteger.java as following. Compile and run the application.

* Compare object instances of Integer class using the same testing code as in EqualsTestString.java above.

No comments:

Post a Comment