60 likes | 137 Views
String and Object Comparison. Comparison operator. Equality Testing vs. Assignment. The = = operator tests for equality: if (x = = 0) . . // if x equals zero The = operator assigns a value to a variable: x = 0; // assign 0 to x Don't confuse them. String Comparison.
E N D
String and Object Comparison Comparison operator
Equality Testing vs. Assignment • The = = operator tests for equality:if (x = = 0) . . // if x equals zero • The = operator assigns a value to a variable:x = 0; // assign 0 to x • Don't confuse them.
String Comparison • Don't use = = for strings!if (input = = "Y") // WRONG!!! • Use equals method:if (input.equals("Y")) • = = tests identity, equals tests equal contents • Case insensitive test ("Y" or "y")if (input.equalsIgnoreCase("Y"))
public class StringExample { // instance variables - replace the example below with your own private String name; private String nickname; /** * Constructor for objects of class StringExample */ public StringExample() { // initialize instance variables name = "Robert"; nickname = name.substring(0,3); } public void displayNames() { if (nickname == "Rob") { System.out.println("The nickname is Rob"); } else { System.out.println("There is no nickname"); } }
Object Comparison • = = tests for identity, equals for identical content Rectangle cerealBox = new Rectangle(5, 10, 20, 30);Rectangle oatmealBox = new Rectangle(5, 10, 20, 30);Rectangle r = cerealBox; • cerealBox != oatmealBox, but cerealBox.equals(oatmealBox) • cerealBox == r • Note: equals must be defined for the class