题目:设计一个商品类 字段:
商品名称,重量,价格,配件数量,配件制造厂商(是数组,因为可能有多个制造厂商)
要求: 有构造函数
重写 toString 方法
重写 equals方法,进行两件商品的比较
package Test04;
import java.util.Arrays;
public class Goods {
//设计一个商品类 字段:
//
//商品名称,重量,价格,配件数量,配件制造厂商(是数组,因为可能有多个制造厂商)
//
//要求: 有构造函数
//
//重写 toString 方法
//
//重写 equals方法,进行两件商品的比较
private String name;//商品名称
private float weight;//重量
private float price;//价格
private int num;//配件数量
private String []arr;//配件制造厂商
public Goods(String name, float weight, float price, int num, String[] arr) {
this.name = name;
this.weight = weight;
this.price = price;
this.num = num;
this.arr = arr;
}
public String getName() {
return name;
}
@Override
public String toString() {
return "Goods{" +
"name='" + name + '\'' +
", weight=" + weight +
", price=" + price +
", num=" + num +
", arr=" + Arrays.toString(arr) +
'}';
}
public boolean equals(Object obj){
if (this == obj) {
return true;
}else {
Goods goods = (Goods) obj;
if((this.getName().equals(goods.getName())) &&
(this.getWeight() == goods.getWeight()) &&
(this.getPrice() == goods.getPrice())&&
(Arrays.equals(this.getArr(),goods.getArr()))
){
return true;
}
}
return false;
}
public void setName(String name) {
this.name = name;
}
public float getWeight() {
return weight;
}
public void setWeight(float weight) {
this.weight = weight;
}
public float getPrice() {
return price;
}
public void setPrice(float price) {
this.price = price;
}
public int getNum() {
return num;
}
public void setNum(int num) {
this.num = num;
}
public String[] getArr() {
return arr;
}
public void setArr(String[] arr) {
this.arr = arr;
}
}
package Test04;
public class Test {
//设计一个商品类 字段:
//
//商品名称,重量,价格,配件数量,配件制造厂商(是数组,因为可能有多个制造厂商)
//
//要求: 有构造函数
//
//重写 toString 方法
//
//重写 equals方法,进行两件商品的比较
public static void main(String[] args) {
String [] arr1 = {"郑州","焦作","洛阳"};
String [] arr2 = {"郑州","重庆","洛阳"};
String [] arr3 = {"郑州","焦作","洛阳"};
Goods goods1 = new Goods("哇哈哈牛奶",500,1.5f,900,arr1);
Goods goods2= new Goods("哇哈哈牛奶",500,1.5f,900,arr2);
Goods goods3 = new Goods("哇哈哈牛奶",500,1.5f,900,arr3);
System.out.println("商品1:"+goods1.toString());
System.out.println("商品2:"+goods2.toString());
System.out.println("商品3:"+goods3.toString());
System.out.println("商品1和商品2比较:"+goods1.equals(goods2));
System.out.println("商品1和商品3比较:"+goods1.equals(goods3));
System.out.println("商品3和商品2比较:"+goods3.equals(goods2));
}
}
字符串比较值是否相同,使用equals(),基本数据类型使用 == 进行值的判断,数组值的比较使用Arrays.equals()方法。
还有要注意的是new对象的时候先实例化数组zai'jiang's
运行结果: