ここではJavaで新しいので、配列の周りに頭を浮かべることはできません。私はArrayList
からアイテムを削除する必要があります。実際にこれをコード化する方法は分かりません。私のプログラムは.csv
ファイルを読み込み、メインクラスから2番目のクラスに文字列を渡します。その2番目のクラスでは、配列リストを検索してその文字列を削除し、それが削除されたというtrueを返します。どんな助けもありがとうございます。ArrayListからオブジェクトを削除します
セカンドクラス
public class PersonLogImpl {
private boolean remove;
private boolean isLicenseUnique;
private boolean add;
private final ArrayList<Person> person;
public PersonLogImpl() {
this.person = new ArrayList<>();
}
public ArrayList<Person> getPersonLog(){
return Person;
}
public boolean add(Person obj){ //add person object to ordered list
person.add(obj);
return add;
}
public boolean remove (String license){ //remove person with specific license from list
if(person.remove(person.equals(add))){
remove = true;
}
return remove;
}
EDIT: 人クラス
public class Person{
private String licenseNumber;
public Person(){
}
public Person(String licenseNumber){
this.licenseNumber = licenseNumber;
}
public String getLicenseNumber(){
return licenseNumber;
}
public void setLicenseNumber(String licenseNumber){
this.licenseNumber = licenseNumber;
}
@Override
public int hashCode(){
int hash = 7;
return hash;
}
@Override
public boolean equals(Object obj){
if (this == obj){
return true;
}
if (obj == null){
return false;
}
if (getClass() != obj.getClass()){
return false;
}
final Person other = (Person) obj;
if (!Objects.equals(this.licenseNumber, other.licenseNumber)){
return false;
}
return true;
}
@Override
public String toString(){
return "Person{" + "licenseNumber=" + licenseNumber + '}';
}
public boolean validateLicense(){
boolean retValue = false;
if ((this.licenseNumber.matches("^[a-zA-Z]{2}\\d{7}$")))
retValue = true;
return retValue;
}
は、私はあなたが 'person.equals(追加)'の意味は何例えば実装 –
に問題があると思いますか? 'オブジェクト'と 'ブール値'を比較しますか? –
person.equals(add)は、追加された場合にtrueを返すと仮定します。 – Newb2Java