如何从方法中返回Java中的两个值

咏叹调:

我有一个需要从中返回两个值的方法。我对如何返回两个值感到困惑。

public List<Class1> getCode(Long Code)
    {
        String Query1="Some Query";

        List<Object[]> value = repos.getQuery(Query1);
        List<Class1>  counts = new ArrayList<>();
        if (null != value) 
        {
            Iterator<Object[]> rowItr = value.iterator();
            while (rowItr.hasNext()) 
            {
                Class1 count = new Class1();
                Object[] obj = rowItr.next();

                if (null != obj)
                {
                      if (null != obj[0])
                      {
                        count.setValuess1(obj[0].toString());
                      }
                      if (null != obj[1])
                      {
                        count.setValuess2(obj[1].toString());
                      }
                }
                counts.add(count);
                return (List<Class1>) counts;
            }

        String Query2="SomeQuery" ;

        List<Object[]> value2 = repos.getQuery(Query2);

        List<Class2>  count1s = new ArrayList<>();
        if (null != value2) 
        {
            Iterator<Object[]> rowItr1 = value2.iterator();
            while (rowItr.hasNext()) 
            {
                Class2 countt = new Class2();
                Object[] obj1 = rowItr1.next();

                if (null != obj1)
                {
                      if (null != obj1[0])
                      {
                          countt.setValuess1(obj1[0].toString());
                      }
                      if (null != obj1[1])
                      {
                          countt.setValuess2(Long.valueOf(obj1[1].toString()));
                      }
                }
                count1s.add(countt);
            }
        }   
        return (List<Class2>)count1s;
        }
        }

这是我的Class1

public class1 
{
   private String valuess1;

   private String valuess2;

  private List<Class2>class2;
}

这是我的班2

public class Class2 
{

private String valuess1;

private Long valuess2;
}

我如何才能一起返回count1s和counts。我尝试使用强制转换来返回值,但它不接受它。我看到了一些安静的解决方案,但没有一个对我有用,任何帮助将不胜感激。

or海:

您可以返回一对。

Pair<List<Class1>,List<Class2>> res = new Pair(counts, count1s);
return res;

或者,您可以创建一个代表返回值的类并返回它。

public class Res {
    public List<Class1> l1;
    public List<Class2> l2;

    public Res(List<Class1> l1, List<Class2> l2){
        this.l1 = l1;
        this.l2 = l2;
    }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章