ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

再次使用java中的字符串比较

2019-07-11 21:59:44  阅读:81  来源: 互联网

标签:java string


新手问题,但我有这个代码:

import java.util.*;
import java.io.*;

public class Welcome1  
{
   // main method begins execution of Java application
   public static void main( String[] args )
   {
      String confirm = "y";
      while(confirm=="y")
      {
         System.out.println( "Welcome to Java Programming!" );
         System.out.println( "Print Again? (y/n)" );
         Scanner input = new Scanner(System.in);
         confirm = input.nextLine();
      }
   }
}

我只需要在用户输入“y”时再次打印欢迎信息.
但它不起作用.有任何想法吗?

解决方法:

在Java中,使用==比较基本类型(int,long,boolean等)的相等性,而使用equals()方法比较Object类型(String等)的相等性.如果使用==比较两个对象类型,则需要检查标识,而不是相等 – 也就是说,您将验证两个对象是否在内存中共享完全相同的引用(因此是相同的对象);一般来说,你需要的只是验证它们的值是否相同,为此你使用equals().

作为一个很好的编程实践,最好比较这样的字符串,翻转字符串的顺序:

while ("y".equals(confirm)) {

通过这种方式,您可以确保比较将起作用,即使确认为null,也避免了潜在的NullPointerException.

标签:java,string
来源: https://codeday.me/bug/20190711/1436651.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有