有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

在java中,在不将int转换为String的情况下,是否可以将int添加到stringarraylist中

我有一个包含String元素的ArrayList,我想在list中添加一个int,但不将其转换为字符串是可能的

我试过这个,这个也很有效

int a1 = 10;
java.util.List list = new ArrayList<String>();
list.add(a1);
System.out.println("List element"+list.get(0));

但我想知道这是否会发生

int a1 = 10;
java.util.List<String> list = new ArrayList<String>();
            list.add(a1);
            System.out.println("List element"+list.get(0));

这可能吗


共 (4) 个答案

  1. # 1 楼答案

    在第一种情况下,你的List只是一个原始的List。因此,您可以添加任何类型,因为List是原始的,这也是Java中使用List的糟糕方式。。但第二种情况是String{}你必须在那里加刺

    现在,您必须使用以下方法将int添加到List

     int a1 = 10;
     java.util.List<String> list = new ArrayList<String>();
     list.add(String.valueOf(a1)); // now String value of int will add to list
     System.out.println("List element"+list.get(0));
    
  2. # 2 楼答案

    如果不将其转换为字符串,则无法执行此操作,但可以使用另一种方法,即通过字符串浓缩(不直接从int转换为字符串):

    list.add("" + a1);
    

    但在内部,它会将a1值附加到“”字符串,最终结果是字符串

  3. # 3 楼答案

    类型化列表的一个优点是,您可以假设列表中只有给定类型的对象——如果将给定类型转换为列表类型非常容易,那么为什么要放弃这个优点呢

  4. # 4 楼答案

    试试这个

     list.add(String.valueOf(a1));