ArrayList Java String remove doesnt delete

Bar*_*dem 0 java android arraylist

我正在使用对象的Arraylist.虽然我已经成功删除了Arraylist的值,而它们是数字.

我无法从arraylist中删除它们是String这里是示例:

public class ArrayListDemo {

 public static void main(String[] args) {

    // create an empty array list with an initial capacity
    ArrayList<Namer> arrlist = new ArrayList<Namer>( );

    // use add() method to add values in the list
    arrlist.add(new Namer("1","A","G"));
    arrlist.add(new Namer("2","E","G"));
    arrlist.add(new Namer("3","F","G"));

    System.out.println("Size of list: " + arrlist.size());

    // let us print all the values available in list
    for (Namer value : arrlist) {
      System.out.println("age = " + value.age);
     }  

    arrlist.remove("3");

    System.out.println("Now, Size of list: " + arrlist.size());

     for (Namer value : arrlist) {
      System.out.println("age = " + value.age); //System.out.println("Value = " + value);
    }  
  }
}   
Run Code Online (Sandbox Code Playgroud)

并且运行它的结果证明它没有删除我需要删除的特定行,如果使用String并且不能使用数字作为"密钥".

Size of list: 3
age = 1
age = 2
age = 3

Now, Size of list: 3
age = 1
age = 2
age = 3
Run Code Online (Sandbox Code Playgroud)

有什么可以使它与String一起使用才能删除?

如果这有帮助

这是arrayList的对象

public class Namer
{
    // instance variables - replace the example below with your own
    public String age;
    public String name;

    public String L_name;


    public Namer(String a, String na , String Lname)
    {
        // initialise instance variables
         age =a;
         name=na;
         L_name=Lname;
   }

}
Run Code Online (Sandbox Code Playgroud)

rge*_*man 6

你有Namer对象ArrayList,而不是Strings.当你调用时remove("3"),ArrayList它将寻找一个在它被调用true时返回的对象.当然,不会与任何人比较.equals"3"StringequalsNamer

您必须自己与name字段进行比较,并删除相应的项目.这可以用Iterator它及其remove方法完成.