contains比較
package com.java.lian20166008;
public class Couser {
public int id;
? ? public String name;
? ? @Override
? ? public int hashCode() {
? ? final int prime = 31;
? ? int result = 1;
? ? result =prime * result +((name == null) ? 0 : name.hashCode());
? ? return result;
? ? }
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (!(obj instanceof Couser))
return false;
Couser other = (Couser) obj;
if (name == null) {
if (other.name != null)
return false;
} else if (!name.equals(other.name))
return false;
return true;
}
public Couser(int id,String name){
? ? this.id=id;
? ? this.name=name;
? ? }
? ? public Couser(){
? ? ?
? ? }
}
package com.java.lian20166008;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Scanner;
public class TestList {
public List<Couser> couser;
private Scanner consle;
public TestList(){
couser=new ArrayList<Couser>();
consle=new Scanner(System.in);
}
public void testAdd(){
/**
* 創建一個課程對象,并通過調用add方法,添加備選課程List中
*/
Couser[] cr3={new Couser(1, "英語"),new Couser(2, "漢語"),
new Couser(3, "日語"),new Couser(4, "法語"),
};
couser.addAll(Arrays.asList(cr3));
}
public void testForeach(){
System.out.println("有如下課程待選(通過for each訪問)");
for(Object obj:couser){
Couser cr=(Couser)obj;
System.out.println("課程:"+cr.id+":"+cr.name);
}
}
public void testContains(){
//取得備選課程序列的第0個元素
Couser stu=couser.get(0);
//打印輸出couser是否包含stu對象
System.out.println("取得課程:"+stu.name);
/*Contains方法的實現原理,java中所以的類都是繼承與Object類。
* Object中定義了一個equals方法,用于檢測兩個對象是否相等
* 當調用List中的contains方法時,其實就相當于遍歷List中的每個元素,
* 調用每個元素的equals方法去跟contains方法中的每個參數進行比較*/
System.out.println("備選課程中是否包含課程 :"+stu.name+","+couser.contains(stu));
//創建一個新的課程對象,ID和名稱,與stu對象完全一樣
/*Students stu2=new Students(stu.id,stu.name);
System.out.println("新創建課程:"+stu2.name);
System.out.println("備選課程中是否包含課程 :"+stu2.name+","+couser.contains(stu2));*/
/*改寫后*/
//提示輸入課程名稱
System.out.println("請輸入課程名稱:");
String name=consle.next();
? //Students報錯:重寫一個無參的構造方法
Couser stu2=new Couser();
stu2.name=name;
System.out.println("新創建課程:"+stu2.name);
System.out.println("備選課程中是否包含課程 :"+stu2.name+","+couser.contains(stu2));
}
public static void main(String[] args) {
// TODO Auto-generated method stub
TestList ct=new TestList();
ct.testAdd();
ct.testForeach();
ct.testContains();
ct.testForeach();
// 創建一個學生對象
// Students student=new Students(1,"葉凡");
// System.out.println("歡迎學生"+student.name+"選課");
// //創建一個Scanner對象,用于接收從鍵盤輸入的Id
// Scanner console=new Scanner(System.in);
// for(int i=0;i<3;i++){
// System.out.println("請輸入課程Id:");
// int couserId=console.nextInt();
// for(Couser cr:ct.couser){
// if(cr.id==couserId){
// student.wan.add(cr);
// /*Set中,添加某個對象,無論添加多少次
// 最終只會保留一個該對象(的引用)
// 并且保留的是第一次添加的那一個個*/
// //student.wan.add(cr);
// }
// }
// }
// ct.testFor(student);
// }
// //打印輸出學生所選課程
// public void testFor(Student student){
// System.out.println("共選擇了"+student.wan.size()+"門課程");
// for(Couser cr:student.wan){
// System.out.println("選擇了課程:"+cr.id+cr.name);
// }
}
}
為什么會出現輸入的字符串的第一個字符的拼音?????????????????
2016-07-09
我的出現了整個課程的拼音……
2016-06-09
不懂 沒有遇到過