【问题标题】:Java Returning a New Object *Complete BeginnerJava 返回一个新对象 *完全初学者
【发布时间】:2014-02-22 18:30:56
【问题描述】:

我希望提出一个简单的问题,对于任何措辞问题,我提前道歉。我有一个自定义产品类,它可以正常工作,在另一个类中我创建了一系列产品。见下文:

 products = new product[10];
 product_count = 0;

我现在希望编写一个方法来返回产品数组和product_count,是否可以将两者都作为新对象返回? - 如果没有的话,有人甚至可以告诉我如何返回一个对象。如果这似乎是一个我只是想学习的愚蠢问题,我深表歉意,并提前感谢您的任何建议

**感谢所有回复 - 现在我将在工作中扔一个扳手 - 我正在尝试使用 java RMI 实现这个方法 - 有人知道它是如何工作的吗?

【问题讨论】:

  • 提示:使用集合而不是数组几乎总是更好——例如,List<Product> lstProducts = new ArrayList<Product>();
  • 对于 RMI - 注意使用 Serializable 对象进行通信。

标签: java oop object methods


【解决方案1】:

您可以使用它来返回您的数组:

public product[] returnArray(){
   return products;
}

请记住,您可以只更新您的 product_count 而不是退回它。

【讨论】:

  • 此代码似乎无效。 products 是变量,返回值应该是 product[],虽然 op 明确指出需要返回多个值,而不仅仅是数组。
【解决方案2】:

数组知道自己的长度。无需分别返回长度和数组。只需阅读length 字段:

Product[] products = new Product[10];
System.out.println("The size of products is " + products.length);

请注意,我将类型名称 Product 大写。 Java 中的通用约定是所有类名都以大写字母开头。

【讨论】:

    【解决方案3】:

    返回单个对象可以使用return:return referenceName;

    如果您为它创建自己的类,或者检查可能适合您的用例的现有实现,则返回多个对象是最简单的。例如参见:http://docs.oracle.com/javase/7/docs/api/java/util/AbstractMap.SimpleImmutableEntry.html

    【讨论】:

      猜你喜欢
      • 2011-05-11
      • 2023-04-02
      • 1970-01-01
      • 2012-03-03
      • 1970-01-01
      • 1970-01-01
      • 2021-05-30
      • 2018-02-17
      • 2014-05-27
      相关资源
      最近更新 更多