• 每天学习点--------第一天(2017-09-08)


    java中String类学习 api所在软件包(java.lang.String)

    一、java中equals和CompareTo的区别

      1、== :基本数据类型都用这个比较,java中包含8种基本数据类型,分别是 boolean、byte、char、short、int、float、double、long

         是变量值得比较,返回true和false

                   注意:String不是基本数据类型,它是个类

        而对于下面的情况:

        

     ==操作符并不涉及对象内容的比较。若要对对象内容进行比较,则用equals. 如果 在本例中,a.equals(b)则返回是一个true值。总而言之,==是对对象地址的比较,而equals是对对象内容的比较。对于基本数据类型,一般用==,而对于字符串的比较,一般用equals

    2、对于CompareTo().在api中,java.lang包下面的基本数据类型的封装类都提供了该方法,如Integer、Float、Byte、Short、Character等等 可以比较两个字符串并且得到顺序.

      在包装类类型中,CompareTo是比较两个Character对象

      在Booleanl中,是用boolean的实例与其他实例进行比较

      在String中,则是按照字典顺序进行比较,返回的值是一个int类型

    运行程序的结果是 

    false

    true

    s1 is equals s2

    true

    这里要说明一下,s1对象赋值给s1对象之后,s1和s2的引用其实是指向了内存中的同一个位置,所以在进行比较结果就是true

    3、equals() 用于引用数据类型(除了上面的8个,都是引用数据类型,包括封装类,Object子类等), 比较是否指向相同的对象

      例如 String str = "abc";
       等效于: char data[] = {'a', 'b', 'c'};  String str = new String(data); 
      就是str 指向了  new String(data) 这个对象. 如果再有其他变量也指向这个对象,他们比较的结果就返回true;
      由于此方法在Object里, 所以它有很多重写, 具体要看说明;
      另外``` equalsIgnoreCase()可以忽略大小写;
    多看看底层源码的实现。有助于代码的提升
  • 相关阅读:
    拼linq 时网上整理的一个类
    ASP.NET MVC controller 之间传JS值
    javascript 事件的一点感悟
    C#扩展特性
    javascript对json对象的序列化与反序列化
    javascript序列化json 第二篇
    单列模式
    Foreach 原理
    浅浅一谈 设计模式
    CRC循环冗余校验码总结(转)
  • 原文地址:https://www.cnblogs.com/hanxue112253/p/7495465.html
Copyright © 2020-2023  润新知