• 手机版

    扫码体验手机版

  • 微信公众号

    扫码关注公众号

国内首家协议开发

软芯音视解码保护平台

在线
客服

发布
需求

在线
聊天

天盟
APP

天盟APP下载

关注
微信

微信扫一扫访问
顶部

初学java,今天写一段代码时遇到了关于判断一个字符串变量的问题,具体代码

public class HelloWorld {
    public static void main(String[] args) {
        
        String fileName = "HelloWorld.java";

        
        int index = fileName.indexOf('.');
        
        String prefix = fileName.substring(index+1,index+5);        
        System.out.println(prefix);                              //这里输出prefix的值是java      

        if ( prefix=="java" ) {                                      //而if中判断prefix=="java"不成立
            System.out.println("第一次检测Java文件名正确");
        } else {
            System.out.println("第一次检测Java文件名无效");
        }
        
        
        prefix = "java";                                             //给prefix重新赋值java
        System.out.println(prefix);                           //第二次输出prefix值还是java                              
        if ( prefix=="java" ) {                                    //但是if中判断prefix=="java"却成立了???        

System.out.println("第二次Java文件名正确");
        } else {
            System.out.println("第二次Java文件名无效");
        }
    }
}

免责声明:本内容仅代表回答会员见解不代表天盟观点,请谨慎对待。

版权声明:作者保留权利,不代表天盟立场。

使用道具 举报

全部参与1

String是对象,你用==比较的是他们的引用而不是在比较“java”字符串。  prefix = "java" 和 "java" 都是属于一个对象的"java", String prefix = fileName.substring(index+1,index+5); 是另一个对象的"java"。 所以前一个比较是false,后一个比较是true。 比较字符串你应该用equals方法,prefix.equals("java");

使用道具 举报

发新帖

发布任务需求已有1031166位用户正在使用天盟网服务

发布分类: *
任务预算: *
需求内容: *
手机号码: *
任务商家报价为
  • 预算价 :
  • 成交价 :
  • 完工期 :
  • 质保期 :

* 最终任务项目以服务商报价、双方协商为准!