当前位置: 首页 > 面试题库 >

在不指定对象类型的情况下创建ArrayList时,添加第一个对象时会自动创建它吗?

白浩荡
2023-03-14
问题内容

例如,而不是做

ArrayList<ClassName> variableName;

你做

ArrayList variableName;

然后再添加“ ClassName”类型的对象

variableName.add(objectName);

会自动将您的数组类型设置为

ArrayList<ClassName>


问题答案:

否。泛型仅用于编译时。您只是失去了这张支票的好处。在运行时,所有通用信息都将被删除

换一种说法,

ArrayList<Type>

在运行时只是一个ArrayList。仅通过列表执行此操作的好处是,在编写代码时,编译器将检查您是否在列表中没有放置任何不适当的内容。



 类似资料:
  • 如何创建具有整数和字符串输入类型的?如果我创建一个: 这将是一个类型。如果我将其创建为: 这将是类型。我如何创建一个,它可以接受整数和字符串输入类型?谢谢。

  • 我正在做一个问答游戏,它将从一个文本文件中阅读一些问题和它们各自的答案。这些问题首先被放入一个ArrayList,然后每个问题都要被转换成一个单独的问题对象。正是在程序的这一部分中,我接收到一个IndexOutOfBoundsException。 文本文件的格式如下: 问题 正确答案 错误答案1 错误答案2 错误答案3 (空行) 问题2 ... ... ... 文本文件在名为IO的类中使用Buff

  • JavaScript对每个创建的对象都会设置一个原型,指向它的原型对象。 当我们用obj.xxx访问一个对象的属性时,JavaScript引擎先在当前对象上查找该属性,如果没有找到,就到其原型对象上找,如果还没有找到,就一直上溯到Object.prototype对象,最后,如果还没有找到,就只能返回undefined。 例如,创建一个Array对象: var arr = [1, 2, 3]; 其

  • 问题内容: 我有一个模型,当从前端发送请求时,我可以在控制器中使用@Valid进行验证: 但是现在,我还使用不含控制器的Jackson的ObjectMapper创建了一个对象。有没有一种方法可以在ObjectMapper中注册此验证,还是应该只检查setter中的变量? 问题答案: 反序列化后,您可以扩展和验证对象。要注册此bean使用。 具有验证的简单bean反序列化器: 我们可以如下使用它:

  • 我正在创建一个需要一组玩家的应用程序。我使用团队ID作为每个球员的团队主键和外键。在一个片段中,我创建了一个新团队。创建团队并将其添加到我的房间数据库时,它最初的ID为0或未设置,即使我已将“自动生成”设置为true。然后,我导航到团队花名册视图,该视图能够向团队添加新球员。当我创建新玩家并在团队视图模型中使用新团队ID时,团队ID仍然为0或未设置,因此应用程序崩溃,外键约束失败。崩溃后,如果我重

  • 我想使用aws-sdk节点JS为S3 bucket中的某些对象设置不同的过期日期。为此,我使用了和。据我所知,我使用了不同的前缀(=对象名)来为不同的对象设置过期日期。但这种方法不是在创造新的生命周期,而是在取代现有的生命周期。 在AWS文档中:https://docs.AWS.amazon.com/awsjavascriptsdk/latest/AWS/s3.html#PutBucketLife