河北省建设厅管网站,网站开发专员,京东云wordpress后台,怎么给自己的网站做域名以图书管理系统为例
1、首先自定义一个图书类Book#xff0c;自定义变量id#xff0c;name#xff0c;auther#xff0c;price并重写getset()#xff0c;toString()方法#xff0c;此处具体代码省略。
2、再自定义一个管理图书类Manage#xff0c;在管理类中先定义一个…以图书管理系统为例
1、首先自定义一个图书类Book自定义变量idnameautherprice并重写getset()toString()方法此处具体代码省略。
2、再自定义一个管理图书类Manage在管理类中先定义一个ArrayList集合用来储存图书再定义add()添加图书方法具体如下 private ArrayListBook books;public Manage(){books new ArrayList();}//添加图书方法public void add(Book book){for(Book b:books)if(b.equals(book)){return;}books.add(book);}//输出方法public void showAll(){for (int i 0; i books.size() ; i) {System.out.println(books.get(i));}
添加方法完成后虽然使用了equals()方法但并不能保证添加元素的唯一性因为如果没有覆盖重写equals方法那么Object类中默认进行运算符的对象地址比较比较的是地址值即只要不是同一个对象结果必然为false。 所以我们需要重写Book类中的equals()和hashcode()方法用来比较对象中的内容具体如下
Overridepublic boolean equals(Object o) {if (this o) return true;if (o null || getClass() ! o.getClass()) return false;Book book (Book) o;return id book.id Double.compare(book.price, price) 0 Objects.equals(name, book.name) Objects.equals(author, book.author);}Overridepublic int hashCode() {return Objects.hash(id, price, name, author);}
重写完成后即可保证添加自定义对象元素的唯一性测试如下
public class ManageTest {public static void main(String[] args) {Manage m new Manage();m.add(new Book(1001,红楼梦,张三,200));m.add(new Book(2002,西游记,李四,140.50));m.add(new Book(3003,三国演义,王五,130));m.add(new Book(4004,水浒传,赵六,83));m.add(new Book(5005,三个和尚,李四,50));m.add(new Book(5005,三个和尚,李四,50));m.showAll();}
}结果如下 Book{id1001 name红楼梦 author张三 price200.0 } Book{id2002 name西游记 author李四 price140.5 } Book{id3003 name三国演义 author王五 price130.0 } Book{id4004 name水浒传 author赵六 price83.0 } Book{id5005 name三个和尚 author李四 price50.0 } 由此可知此方法可行。