Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/352.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在web方法中返回两个参数?_Java_Return Value - Fatal编程技术网

Java 如何在web方法中返回两个参数?

Java 如何在web方法中返回两个参数?,java,return-value,Java,Return Value,如何在web方法中返回这两个参数 我已经尝试过这些方法,但是下面的代码只返回一个参数 网络方法 public class GetTMSMargin { public String GetTMSMargin(String fd,String td) { return fd; } } 有人能帮我修改一下密码,让我明白吗 提前谢谢 实际上,在任何计算机语言中,一个函数/方法不能返回多个参数 您可以通过从函数/方法返回一个数组来实现它。在数组中可以存储多个值,所以在返回值中可以获得多

如何在web方法中返回这两个参数

我已经尝试过这些方法,但是下面的代码只返回一个参数

网络方法

public class GetTMSMargin 
{
public String GetTMSMargin(String fd,String td)
{
    return fd;
}  
  }
有人能帮我修改一下密码,让我明白吗


提前谢谢

实际上,在任何计算机语言中,一个函数/方法不能返回多个参数

您可以通过从函数/方法返回一个数组来实现它。在数组中可以存储多个值,所以在返回值中可以获得多个值

public String[] getMyValues ( String fd,String td )
{
      String [] returnValues = new String { fd, td };

     return returnValues;
}
作为android代码,您还可以使用另一个名为
ArrayList
的类来返回多个值


然而,这只是返回多个值的技巧/逻辑,不是一个完美的解决方案。

您可以返回数组、集合、映射。。。以及许多其他可能包含任意数量结果的内容(我更喜欢“结果”而不是“参数”作为返回变量的指示)。

顺便说一句:如果你想在这里使用webservice,那么你需要序列化(JSON或类似的东西)你的数组/set/map…

如果你想返回两个值,我建议你使用ArrayList,或者像Lucifer那样的表

 public ArrayList <String> GetTMSMargin(String fd,String td)
    {
        ArrayList <String> theArray = new ArrayList <String>();
        theArray.add(fd);
        theArray.add(td);
        return theArray;
    }  
public ArrayList gettmmargin(字符串fd,字符串td)
{
ArrayList theArray=新的ArrayList();
数组。添加(fd);
a.增加(td);
返回阵列;
}  

您可能需要进一步了解Java。在Java中,函数只能返回一个值。如果需要返回多个值,则需要返回值的
数组
(如果它们都是相同类型的,则
列表
等可作为数组用于这些目的)或将这些值作为其属性的
对象
,例如:

class ReturnMultipleValues {

    /**
     * Returns an object containing the two Strings passed.
     */
    public ComplexReturnValue getComplexReturnValue(String arg1, String arg2) {
        ComplexReturnValue value = new ComplexReturnValue(arg1, arg2);
        return value;
    }

    /**
     * Value type which contains 2 strings
     */
    public static class ComplexReturnValue {
        private String arg1;
        private String arg2;

        public ComplexReturnValue(String arg1, String arg2) {
            this.arg1 = arg1;
            this.arg2 = arg2;
        }

        public String getArg1() {
            return arg1;
        }
        public String getArg2() {
            return arg2;
        }
    }

    /**
     * Main method just runs a quick example
     */
    public static void main(String[] args) {
        ReturnMultipleValues rmv = new ReturnMultipleValues();
        ComplexReturnValue crv = rmv.getComplexReturnValue("Hello", "World");

        crv.getArg1(); // Returns "Hello"
        crv.getArg2(); // Returns "World"
    }

}

您可以像这样发送数组

public class GetTMSMargin 
{
    public String[] GetTMSMargin(String fd,String td)
    {
       //your code
       String array[] = {fd, td};
       return array;
    }  
}

什么是“网络方法”?这实际上是一个android问题吗?我假设他有一个返回两个值的web服务,并且想知道如何同时返回这两个值。在这种情况下,我建议返回一个JSON字符串。@mario
JSON字符串
具有多个值在技术上仍然是一个
数组
对象
哦,好吧……我需要使用一个web服务。这就是那个web服务。这个web服务具有输入值,即fd和td。所以我认为这个web服务有两个参数,如果我错了,请告诉我,我正试图通过soap方法使用这个web服务。但是我不能使用那个web服务,这就是为什么我猜web方法可能有问题,你能告诉我如何为这个web服务编写web方法吗?我看到了你的web服务,让我说明一下,您的两个参数都是DateTime类型,而不是字符串参数。请尝试在参数中插入日期并检查结果:)让我们看看这是我试图通过SOAP方法使用的web服务。但它没有显示任何内容。您能帮我……让我澄清我的疑问。