当前位置: 首页 > 面试题库 >

Java中的输出参数

逑衡
2023-03-14
问题内容

使用第三方API,我观察到以下内容。

而不是使用

public static string getString(){
   return "Hello World";
}

它使用类似

public static void getString(String output){

}

我得到分配的“输出”字符串。

我很好奇实现这种功能的原因。使用此类输出参数的优点是什么?


问题答案:

在您的示例中有不对的地方。

class Foo {

    public static void main(String[] args) {
        String x = "foo";
        getString(x);
        System.out.println(x);
    }

    public static void getString(String output){
        output = "Hello World"
    }
}

在上面的程序中,将输出字符串“ foo”, 而不是 “ Hello World”。

某些类型是可变的,在这种情况下,您可以修改传递给函数的对象。对于不可变的类型(例如String),您必须构建某种包装类,而可以将其传递给它:

class Holder<T> {
    public Holder(T value) {
        this.value = value;
    }
    public T value;
}

然后您可以绕过持有人:

public static void main(String[] args) {
    String x = "foo";
    Holder<String> h = new Holder(x);
    getString(h);
    System.out.println(h.value);
}

public static void getString(Holder<String> output){
    output.value = "Hello World"
}


 类似资料:
  • 我想知道为什么Java程序在运行时只从命令行获取字符串形式的参数?我读过,如果参数声明为int,它仍然将int转换为字符串。为什么会出现这种情况?并且在运行java程序时,有没有办法只从命令行接受int值呢?

  • 问题内容: 有人可以给我一些在函数中使用输出参数的示例代码吗?我尝试过使用Google,但只是在功能中发现了它。我想在另一个函数中使用此输出值。 我正在开发的代码打算在Android中运行。 问题答案: Java通过值传递;没有像C#这样的参数。 您可以使用,或更改 作为 参考传递的对象( 按 值)。 代码样例 至于OP需要帮助的代码,以下是使用特殊值(通常用于引用类型)指示成功/失败的典型解决方

  • 更新:我开始怀疑这是否是由于错误: https://github.com/domaindrivendev/Swashbuckle/issues/590 但这里提出的解决办法似乎并没有解决我的问题。 我正在使用SwashBuckle为C#ASP.NETWeb API项目生成API留档。 我的目标是允许以下作为有效URL: 其中必需参数(param1)设置为“foo ”,可选参数(param2)设置为

  • 我试图将两个数组和一个整数从另一个方法引入到写入文件的方法中。我试着用论据来解释,但没有用。希望你能帮忙 这是我如何传递参数从方法持有arry信息。 此方法旨在使用传递的数组参数创建文件。 这是读取文件的方法 请你能告诉我哪里出了问题,我如何创建一个文件,保存数组并稍后读取文件。 *************编辑代码******************** { }公共静态无效读取()抛出IOExce

  • 问题内容: 我需要用SWIG包装一个C ++库,以便将其与Java一起使用。 我已经有一些方法可以使用,但是遇到一种我不知道如何解决的情况。 我有几种这样的方法: 注意:实际上,这是名为MyClass的类的成员方法。 我可以将第一个方法更改为返回a 而不是being ,它应该可以工作;但是我不知道如何处理第二种方法,其中最后两个参数是输出参数。我已经看到了几个有关输出参数的问题(使用Swig/ P

  • 问题内容: 我想从查询中获取ID,但是我得到的是NULL,我的错误在哪里? 为什么@Id参数始终为null?我看不到我的错误? 问题答案: 首先,选择所希望的使用的输出变量然后分配该中值使用可变。另外,您应该使用变量在where子句中传递数据,以避免类似sql的注入问题(即,您不应像那样将其串联起来)。试试这个 : 在这里查看详细信息