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

创建一个新对象并返回它还是在return语句中创建新对象更好?

危砚
2023-03-14
问题内容

例如:

public Person newPerson() {
  Person p = new Person("Bob", "Smith", 1112223333);
  return p;
}

相对于:

public Person newPerson() {
  return new Person("Bob", "Smith", 1112223333);
}

一个比另一个更有效吗?


问题答案:

返回之前分配给临时变量使您有机会从newPerson()中进行错误检查和更正。返回新的调用要求newPerson()方法的调用者捕获错误并从错误中恢复。



 类似资料:
  • 问题内容: 我最近了解到,可以在语句中创建新的对象,如下所示: 这是要避免的事情还是应该接受?根据良好实践,何时才可以合理使用此功能? 问题答案: 不要回避它 ,因为有第 10.2.7.2节 所提醒的,因为它有完全有效的用例,所以这里有SELECT NEW 。 EJB 3.0 JPA规范 的SELECT子句 中的 JPQL构造函数表达式 : SELECT列表中可以使用构造函数来返回一个或多个Jav

  • 我正在阅读格式的JSON: 我将“student”存储到一个字符串中,并将每个学生的详细信息——“roll,name,subjects”存储到POJO中。 > ObjectMapper mapper=new ObjectMapper(); Map 返回某个学生的所有主修和辅修课程的最佳方式是什么?我应该做一个hashmap还是列表?或者还有别的办法吗?

  • 互联网上充斥着处理数组的资源,但对象通常更适合数据,而且似乎更高效。 我想在动态字段名下存储键值对象,如下所示: 这样做似乎比保留一个包含所有语言的数组并对其进行过滤以获取给定语言的所有语言条目更有效。 我的问题是:如何使用猫鼬将键值对插入到具有动态名称的对象中?对象是否需要存在,或者如果在一个操作中不存在,我可以创建它吗? 我试过这个: 但不管我是否有一个空对象开始,都没有运气:。 奖励:我应该

  • 问题内容: 所以,我不确定那是什么。如果在 ModuleA中 ,我有: 在 ModuleB中 ,我有: 在主程序中,我有: 因此,当我运行主程序时,我想我将创建两个猫鼬“实例”;一个连接到pathA,一个连接到pathB,对吗? 另外,在模块B中,在我连接到pathB之前,它是连接到pathA还是什么都没有? 谢谢。 问题答案: 我刚刚对最新的节点V0.4.6做了一些测试。我确认了以下内容: 从“

  • 我想尝试一下我在C中读到的关于按值返回的内容(在新对象为create的情况下,这与按值传递相同) 终端输出是这样的: > 我希望中的行为是:a.创建Kar2 b。将其复制到Kar 3并返回它(随后将Kar 3分配给Kar 1)。为什么不呢? 如果我取消注释< code > Kar k2 = foo();我得到编译器消息: 错误:没有匹配函数调用Kar::Kar(Kar) 当然,我不能添加构造函数,

  • 问题内容: 我正在开发某种在线多用户编辑器/合作社界面,它将在一页生命周期内处理大量(例如成千上万个)ajax请求。 最佳方法:(在稳定性,兼容性,避免麻烦方面为“最佳”) 创建一个XMLHttpRequest对象,并将其重新用于每个HTTP请求 为每个HTTP请求创建一个新的XMLHttpRequest对象 管理XMLHttpRequest对象的动态“池”,在启动HTTP请求且现有对象不可用时创