相关疑难解决方法(0)

varargs和'...'的论点

考虑方法声明:

String.format(String, Object ...)
Run Code Online (Sandbox Code Playgroud)

Object ...参数只是对Objects 数组的引用.有没有办法使用此方法引用实际Object数组?如果我将Object数组传递给...参数 - 结果参数值是否为二维数组 - 因为a Object[]本身是Object:

Object[] params = ....; // Make the array (for example based on user-input)
String s = String.format("%S has %.2f euros", params);
Run Code Online (Sandbox Code Playgroud)

所以数组的第一个组件(在String.format方法中使用)将是一个数组,他将生成:

[class.getName() + "@" + Integer.toHexString(hashCode())] 
Run Code Online (Sandbox Code Playgroud)

然后是一个错误,因为数组大小是1.

大胆的顺序是真正的问题.
这是第二个问题:是否一个...数组/参数有名字吗?

java arrays parameters variadic-functions

47
推荐指数
3
解决办法
4万
查看次数

在if条件下一起评估多个变量

我想知道在java中是否有可能if-elsepython一样评估多个变量.

实际代码

if(abc!=null && xyz!=null)
{//...}
Run Code Online (Sandbox Code Playgroud)

虚拟代码

if(abc && xyz !=null)
{// will it be possible}
Run Code Online (Sandbox Code Playgroud)

java if-statement

6
推荐指数
2
解决办法
2万
查看次数

java可选参数

我想在java中编写一个平均方法,它可以消耗N个项目,返回它们的平均值:

我的想法是:

    public static int average(int[] args){
        int total = 0;
        for(int i=0;i<args.length;i++){
            total = total + args[i];
        }
        return Math.round (total/args.length);
    }
//test it
average(1,2,3) // s**hould return 2.
Run Code Online (Sandbox Code Playgroud)

如何更改我的方法以消耗任何数量的参数而不是int [] args所以可以按我想要的方式工作?干杯

java optional-parameters

4
推荐指数
2
解决办法
1万
查看次数