主方法中if条件调用静态方法体中的参数,两者的参数在堆栈中的地址是一样的吗,还是有别的说法?望告知

public class HuiWen {

// 判断回文是否符合条件
public static boolean isHuiWenChuan(String s) {
    int low = 0;
    int high = s.length() - 1;
    while (low < high) {
        if (s.charAt(low) != s.charAt(high)) {
            return false;
        }
        low ++;
        high --;
    }
    return true;
}

public static void main(String[] args) {

    Scanner sc = new Scanner(System.in);
    System.out.println("请输入一个字符串");
    String c = sc.nextLine();
    if (isHuiWenChuan(c)) {
        System.out.println(c+":是回文");
    } else {
        System.out.println(c+":不是回文");
    }
}

}

在Java中函数传参是值传递,值传递是指在调用函数时将实际参数复制一份传递到函数中,这样在函数中如果对参数进行修改,将不会影响到实际参数。所以两者地址不一样。

  • 你可以参考下这个问题的回答, 看看是否对你有帮助, 链接: https://ask.csdn.net/questions/7800385
  • 这篇博客你也可以参考下:如果一个接口有2个不同的实现, 那么怎么来指定的需要调用实现
  • 除此之外, 这篇博客: 优秀的后端应该有哪些开发习惯?中的 写有意义的方法注释 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 这种注释你写出来是怕后面接手的人瞎么......

    /**
    * 请求电话验证
    *
    * @param credentialNum
    * @param callback
    * @param param
    * @return PhoneVerifyResult
    */
    

     

    要么就别写,要么就在后面加上描述......写这样的注释被 IDEA 报一堆警告看着蛋疼

  • 您还可以看一下 张云波老师的以太坊智能合约项目实战课程中的 整个游戏的状态定义小节, 巩固相关知识点
  • 以下回答由chatgpt基于相关博客总结生成:

    我很抱歉,根据您的问题,参考资料无法给出具体的解决方案。问题描述的是关于堆栈中参数地址的问题,而参考资料中则涉及到了关于代码优化的内容。两者毫无关联。建议您重新提出问题,并确保参考资料与问题的内容相关联。