矢崎です。花子さんモードで。
tetsuya@....jp さんwrote:
>
> と思って、送信しようとしたのですが、addにやらせるのは変ですね。
> 折角containsメソッドがあるなら、それでチェックしてからaddすれ
> ばいいはず(自分に言い聞かせてます。)
>
> Member member = new Member(mailAddress);
>
> if (contains(member))
> continue;
>
> add(member);
>
> として、addの実装はそのままとか。
>
昨日は結局コミットせずに帰宅しちゃったわ。今日は最後にはコミット
しなきゃ。
多分三郎さんだと思うのだけれど、私の机の上に上のようなメモが
あったわ。私もこのメモの意見には賛成。ただ
if (contains(member))
continue;
add(member);
のところは
if (! contains(member)) add(member);
じゃ、だめかしら?
とりあえず、テストのほうは、そのままでよいからMemberListを
直してコンパイルとテストをします。
はい、通りました。
まだコミットしないから、下に全文を載せておくわね。
/*
* $Id: MemberList.java,v 1.3 2000/09/27 18:25:14 xp Exp $
*/
package XP.jp.co.esm.wiki.extremedomo;
import java.util.*;
import java.io.*;
public class MemberList {
public MemberList() {
}
public MemberList(String nameOfMemberList) throws
FileNotFoundException{
BufferedReader bufIn = null;
try {
bufIn = new BufferedReader(new
FileReader(nameOfMemberList));
String fileLine;
while (true) {
fileLine = bufIn.readLine();
if (fileLine == null)
break;
String mailAddress = fileLine.trim();
if (mailAddress.length() == 0)
continue;
Member member = new Member(mailAddress);
if (! contains(member)) add(member);
}
} catch (FileNotFoundException e) {
throw e;
} catch (IOException e) {
throw new RuntimeException();
} finally {
try {
if (bufIn != null)
bufIn.close();
} catch (Exception e) {
}
}
}
public void add(Member aMember) {
if (contains(aMember))
throw new IllegalArgumentException();
members.add(aMember);
}
public Member get(int index) {
return (Member)members.get(index);
}
public int size() {
return members.size();
}
public boolean contains(Member aMember) {
return members.contains(aMember);
}
private List members = new ArrayList();
}
--
矢崎博英 firo@....jp