Does Java support default parameter values?

后端 未结 25 2239
清歌不尽
清歌不尽 2020-11-22 07:07

I came across some Java code that had the following structure:

public MyParameterizedFunction(String param1, int param2)
{
    this(param1, param2, false);
}         


        
25条回答
  •  面向向阳花
    2020-11-22 07:22

    No, but the simplest way to implement this is:

    public myParameterizedFunction(String param1, int param2, Boolean param3) {
    
        param3 = param3 == null ? false : param3;
    }
    
    public myParameterizedFunction(String param1, int param2) {
    
        this(param1, param2, false);
    }
    

    or instead of the ternary operator, you can use if:

    public myParameterizedFunction(String param1, int param2, Boolean param3) {
    
        if (param3 == null) {
            param3 = false;
        }
    }
    
    public myParameterizedFunction(String param1, int param2) {
    
        this(param1, param2, false);
    }
    

提交回复
热议问题