【问题标题】:A question that's been bothering me for so long [closed]一个困扰我很久的问题[关闭]
【发布时间】:2011-11-14 06:51:03
【问题描述】:

你能返回一个数组吗?还是一组对象?或返回一个对象?这真的可能吗?或者这可能吗?谁能给我例子?当谈到良好的编程实践时,任何人都可以向我提供任何好的链接吗? OOP 特别是因为我想成为一名优秀的 Java 程序员,你也可以返回用户定义的类吗?像带有 setter 和 getter 的对象?和数组?和对象数组?

double Amounts ={1,2,3,4,5,6,7} 
for(int i = 0;i<Amounts.length;i++) { 
    Briefcase[i] cases= new Briefcase[]; 
    double x = Amounts[i];
    Briefcase[i].setValue(x); 
} 

public Briefcase[] get(){ 
    return Briefcase[]; 
}

【问题讨论】:

  • 你能返回一个对象吗?例如像这样 double Amounts ={1,2,3,4,5,6,7} for(int i = 0;i
  • 数组有什么困扰你的?到处都是返回/传递/东西
  • 是的。公共列表 getObjects(){ ... }
  • 我建议您应该从基本的 Java 教程开始。
  • 我已经读过一本关于java的书,但我还没有处理过这样的话题,我正在阅读deitels java早期对象,我只是想发布这个问题,因为我认为有经验的人可以回答我更好

标签: java arrays object return


【解决方案1】:

是的,有很多不同的方式。不完全确定你在问什么,所以这里有几个例子。

public Object[] getArray() { }

public MyObject[] getArray() { }

public List<MyObject> getArray() { }

【讨论】:

    【解决方案2】:

    您需要更具体。而且我无法想象下面简单的代码怎么能让人打扰这么久:)

    public MyObject[] getArray() {
        return new MyObject[10];
    }
    

    【讨论】:

    • 不是那个,我的意思是用户定义的对象 :D 或者如果它像这个 public Briefcase getCase(){ return Briefcase[15];公文包是用户定义的对象/类
    • @Andrew Asmer:你也可以这样做:public Briefcase[] getCase(){ return new Briefcase[15]; }
    • 返回公文包[5]怎么样;比如它的值为空,你能返回一个空值数组吗?
    • 更新了答案以反映相同的情况。但实际上你需要在开始使用 Java 编程之前喝完一整本 Java 书,这现在可能看起来很痛苦,但时间长了,它会很好
    • 你可以返回一个包含所有空值的数组,你甚至可以返回一个空对象本身
    【解决方案3】:

    这是一个返回用户定义对象数组的完整示例。 HTH。

    public class Example {
        public static class Composer {
            private final String name;
    
            Composer(String name) {
                this.name = name;
            }
    
            public String getName() {
                return name;
            }
    
        }
        public static void main(String... args) {
            Composer[] composers = getComposers();
            for (Composer composer : composers) {
                System.out.println(composer.getName());
            }
        }
    
        public static Composer[] getComposers() {
            return new Composer[]{new Composer("Mozart"), new Composer("Pachbel"),
                    new Composer("Vivaldi")};
        }
    }
    

    【讨论】:

    • 那里!谢谢,你可以退货,但是新的有什么用? ,如果您已经在 Composer[] getComposers() 中创建了它的对象?
    【解决方案4】:

    由于 java 是面向对象的语言,因此它可以使用对象来玩。返回array

    Object 在 java 中没有任何区别。毕竟是Array is an Object。所以你可以返回

    任何东西(我的意思是数组、带有 getter Setter 的对象或任何类型的对象)。这甚至涵盖了

    您创建的类,因为它们默认也是对象(因为您在 java 中创建的每个类

    默认会扩展 Object 类)。

    例如你可以这样做,

    Class A{
    private int[] arr = {1,2,3};
    
    private A a;
    
    public int[] getArray(){
    return arr;
    }
    public void setA(){
    a = new A();
    }
    public A getA(){
    return a;
    }
    
    }
    

    【讨论】:

      猜你喜欢
      • 2012-02-15
      • 2011-02-26
      • 2011-04-24
      • 1970-01-01
      • 1970-01-01
      • 2018-03-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多