用Hashtable,Vector,数组都成啊!

解决方案 »

  1.   

    把对象装在一个Vector里面,然后返回Vector对象
      

  2.   

    用容器对象了,像Hashtable、Vector、ArrayList都可以。把要返回的对象放到容器中,然后返回容器对象就可以了。
      

  3.   

    能,我用的都可以,想传递什么都可以,有点像C++里的指针,传的是对象本身,除非你clone了它
      

  4.   

    java是按地址传递的,所以你可以在外部定义一个ArrayList之类的东西,在你的方法中改变其中的内容,就可以了!
      

  5.   

    可以啊。java中本来就是对对象传地址。你传一个数组过去就行。
      

  6.   

    Vector是线程同步的,所以如果你的代码中没有同时访问的情况下,尽量不要用Vector,它的效率比较低,建议用ArrayList,你可以自己做个试验,就会发现同等情况下,Vector要慢得多:)
      

  7.   

    int function(Object a[])
    {
      a[0]=...
      a[1]=...
      ...
    }
    Object[] arr = ...
    function(arr);
      

  8.   

    回复人: shpblk(sheepblack) (  ) 信誉:100  2002-06-12 15:43:00  得分:0  
     
     
      int function(Object a[])
    {
      a[0]=...
      a[1]=...
      ...
    }
    Object[] arr = ...
    function(arr); 
     
    这个程序中要先创建这个数组,然后传递这个数组给方法,在方法中修改其中的内容。能否在调用方法前,不创建,在方法中来创建这个数组再返回。因为在调用方法前不知道要创建多大的数组。
      

  9.   

    你为什么不这样呀:
      Object a[]function()
    {
      Object a[]=new Object[你需要的];
      a[0]=...
      a[1]=...
      ...
      return a;
    }
    Object[] arr = function();
      

  10.   

    或则,Vector与数组类似;int function(Vector vt)
    {
      vt.add(obj1);
      vt.add(obj2);
      ...
    }Vecotr vt = ...
    function(vt);Object obj=vt.get(index);
      

  11.   

    java中参数传递的问题分几种。
    1,简单类型,如:int, long, boolean等是传值的
    2,对象类型,如:vector, hashtable等是传址的。
    3,String类型,本应是传址,但因为用了String Pool
    的原因,实际上是传值的。另,如果对象类型实现了序列化,则也变成传值的了。
      

  12.   

    其实用Vector可以很简单的解决上面的问题。
    但如果必须返回数组的话,你可以在方法里
    先用Vector临时存数据,然后转换成数组返回。
    具体如下:
    Vector v=new Vector();
    v.add(obj1);
    .........
    v.add(objn);
    Object[] rtn = new Object[v.size()] ;
    rtn=v.toArray();
    return rtn;
      

  13.   

    大家来看一看这个:
    http://www.csdn.net/expert/topic/799/799900.xml?temp=3.342837E-02
      

  14.   

    怎么没有人说这种方法:
    public class TestBack {
      private int intBack;
      private String stringBack;
      private byte byteBack;
      private char charBack;
      ……
      //定义的各种需要返回的类型变量 
      public TestBack(参数 in) {
        ……
        //处理,赋值等
      }
      public int getIntBack() {
        return intBack;  
      }
      public String getStringBack() {
        return stringBack;
      } 
      ……
      //其它类推
    }
    这样其实也可以达到返回不同类型变量的目的。
      

  15.   

    我同意webwing(kevin) 的讲法。
    用vector应该可以解决你的问题,但是,从运行效率角度将,你最好用arraylist
    也就是,前面有人将的关于 同步问题。
    不要太苛刻了,vector已经可以了。
      

  16.   

    其实我是要通过参数传递的方法来返回一个对象,结果作为操作是否成功的标志。如下C++代码实现的功能在JAVA中如何实现,
    BOOL funtion(mydataclass * &a)
    {
       a=new mydataclass;
       ...
       return TRUE;
    }mydataclass * aa;
    if(funtion(aa)) {
    ...
    }这种简洁明了的C++在JAVA中是不是无法实现,
    因为在JAVA中你无法取地址。
      

  17.   

    呵呵,当然可以了,C++用指针,java用对象引用,都是一样的,没有任何区别,实际上也是用指针传递了,基本上可以理解引用就是指针。
      

  18.   

    楼上的,JAVA用对象引用相当于C++中的指针,
    可是C++中有对指针的引用,如上面的代码,
    JAVA中怎么办,好象没有办法吧
      

  19.   

    我想应该是和对象的引用是一回事吧!
    在java中就不要去理会指针了,否则你会被C++搞得晕头转向的。都是对象传来传去。没有任何问题的。
      

  20.   

    指针是C++的精华,
    在java中没有指针,我觉得很不适应,
    C++中很简洁的,风格很好的代码,在java中却无法实现,
    看来还得继续学,java的程序风格