【问题标题】:returning a array object from class object [closed]从类对象返回一个数组对象[关闭]
【发布时间】:2014-10-15 11:30:47
【问题描述】:
public class abc<E>{

Arraylist<E> returnthis = new Arraylist();
public abc<E> fuction(E c)
{
  returnthis.add(c);
  return returnthis 
}

}

// 主要

abc array = new array();
   temp = array.add(4);

如何从返回类对象的函数中返回数组列表。

【问题讨论】:

  • 这样做的目的是什么。您不能将返回类型更改为 List 吗?
  • 你是在问如何返回不是方法返回类型的东西?
  • 这不能改变我问的原因

标签: java object return


【解决方案1】:

如果我理解您的问题,那么您将需要在您的 abc 类中添加一个访问器(或 getter)方法 -

List<E> returnthis = new ArrayList<>(); // <-- note caps and diamond operator.
public List<E> getList() {
  return returnthis;
}

那你就可以了

abc<Foo> array = new abc<>(); // <-- abc is generic
List<Foo> foos = array.getList(); // <-- like so

最后,abc 是一个非常糟糕的类名。它没有描述性并且不遵循 Java 大写约定。

【讨论】:

    【解决方案2】:

    您的代码难以阅读。这可能是您无法理解它的原因。

    您必须使返回类型与您要返回的变量相匹配。

    public class Demo<E> {
    
        List<E> data = new ArrayList<E>();
    
        public List<E> addToData(E c) {
            data.add(c);
            return Collections.unmodifiableList(data);
        }
    
        public String toString() { return this.data.toString(); }
    }
    

    【讨论】:

    • 如果我从函数返回类对象,我如何打印或读取它的值
    • 如果类覆盖了 java.lang.Object.toString(),你可以打印它。如果你的一个没有,那就这样做吧。
    【解决方案3】:

    首先,您似乎还没有掌握数组的基础知识,因为其中有些内容是不正确的。首先,您需要了解正确返回数组对象。这是一个例子:

    ArrayList<E> myArray = new ArrayList<E>();
    public ArrayList<E> getMyArray(){
        return myArray;
    }
    

    其次,我的强迫症现在要发疯的类名大写。

    现在看看你的数组,它不包含你刚刚创建的类的值,如果那是你想要做的。尽管您需要先修复代码,但我还不完全确定您正在尝试做什么。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-10-22
      • 1970-01-01
      • 1970-01-01
      • 2013-02-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-07-27
      相关资源
      最近更新 更多