String类型的大小比较(四种情况)

这篇具有很好参考价值的文章主要介绍了String类型的大小比较(四种情况)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

 在实际的字符串比较当中会遇到多种情况

1.创建常量,用==比较时

String类型的大小比较(四种情况)

结果:

 String类型的大小比较(四种情况)

当创建两个值相同的字符串的时候,都放入方法区的常量池中的同一位置,因此a和b本质上指向了同一块地址,因此判断位true。

2.用==比较常量时

         public class Test {

                 public static void main(String[] args) {

                 String a="aaa";

                 String b="aaa";

                 System.out.println(a==b);

                 System.out.println(a=="aaa");

                }

         }

 两个简单常量的比较,自然是相等。(a是存储在方法区的常量)

3.创建对象(substring等方法创建地址不同但值相同的字符串)用==比较时

(1)  class a{ 

                public static void main(String[] args) {

                String str="1234warwar";
                String str1=str.substring(0,3);
                System.out.println(str1=="1234");

             }

          }

返回值为false

(2)public class Test {
             public static void main(String[] args) {
             String a=new String("aaa");
             String b=new String("aaa");
             System.out.println(a==b);
           }

       }

返回值自然也是false。两个例子中,用==比较的两个值显然是相等的,但由于存储的地址不相同,因此由==返回的值是false。

4.通过str.equals()比较

String类型的大小比较(四种情况)

 文章来源地址https://www.toymoban.com/news/detail-407478.html

面对第3条当中的情况,我们可以通过java源文件中的str.equals()方法来判断相等。

5.使用了substring方法(或者通过创建对象)的字符串的比较

String类型的大小比较(四种情况)

 

当使用str.substring()方法的时候,创建了全新的字符串的时候会在栈区生成全新的局部变量,所以尽管值相等,通过==运算也得不到true。

 显然只有c=a.substring(0);在建立c时因为没有生成新的字符串,通过==运算可以得到true。

 

 

 

到了这里,关于String类型的大小比较(四种情况)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Go中字符串处理:fmt.Sprintf与string.Builder的比较

    在Go语言中,我们通常会遇到两种主要的方式来处理和操作字符串:使用 fmt.Sprintf 函数和 string.Builder 类型。尽管两者都可以实现字符串的格式化和连接,但它们在性能和用法上有一些关键区别。 fmt.Sprintf 是一个函数,它根据提供的格式化字符串和参数列表,将它们格式化为

    2024年02月05日
    浏览(49)
  • Python标准数据类型-String(字符串)

    ✅作者简介:CSDN内容合伙人、阿里云专家博主、51CTO专家博主、新星计划第三季python赛道Top1 📃个人主页:hacker707的csdn博客 🔥系列专栏:零基础入门篇 💬个人格言:不断的翻越一座又一座的高山,那样的人生才是我想要的。这一马平川,一眼见底的活,我不想要,我的人生

    2024年02月03日
    浏览(48)
  • golang 类型转换interface转字符串string

    方式一和方式二适用于interface和各种转换 方式三如果需要将一个普通的类型转换成字符串,可以使用 strconv 包中的相关函数。例如,将一个整数转换成字符串:

    2024年02月12日
    浏览(45)
  • C# 把字符串(String)格式转换为DateTime类型方法

    Convert.ToDateTime(string)  注意:string格式有要求,必须是yyyy-MM-dd hh:mm:ss 方式二:DateTime.Parse(string) 参考:将字符串转换为 DateTime | Microsoft Learn DateTime.Tostring()//这个转换之后是YYYY/MM/DD HH:MM:SS DateTime.ToShortString()//这个转换之后是YYYY/MM/DD Convert.ToDateTime(string)//string是你要转换成时间

    2024年02月09日
    浏览(58)
  • Rust 标准库字符串类型String及其46种常用方法

    Rust主要有两种类型的字符串:str和String str 由[u8]表示,UTF-8编码的字符串的引用,字符串字面值,也称作字符串切片。&str用于查看字符串中的数据。它的大小是固定的,即它不能调整大小。 String String 类型来自标准库,它是可修改、可变长度、可拥有所有权的同样使用UTF

    2024年02月07日
    浏览(95)
  • C++中求string类型字符串长度的三种方法

    length()函数是string的内置成员方,用于返回string类型字符串的实际长度。 length()函数声明: // 返回 string 长度,单位字节 size_t length() const noexcept; 示例1: size()函数与length()一样,没有本质区别。string类刚开始只有length()函数,延续了C语言的风格。引入STL之后,为了兼容又加入

    2024年02月07日
    浏览(62)
  • List<Long> 类型数据转为string字符串类型 jdk1.8新特性

    话不多说,直接上代码 这里,我们首先将 ListLong 转换为 StreamLong ,然后使用 map() 方法将每个 Long 类型的元素转换为字符串类型,再使用 Collectors.joining() 方法将所有字符串连接起来并用逗号和空格分隔。 需要注意的是, Collectors.joining() 方法返回的是一个字符串类型的结果,

    2024年02月13日
    浏览(53)
  • vue前端判断某一个String类型的集合中是否包含某一个字符串怎么做

    在上面的代码中,我们使用 includes() 方法判断 strList 数组中是否包含 targetStr 字符串,如果包含则输出“字符串集合中包含目标字符串”,否则输出“字符串集合中不包含目标字符串”。 该博文为原创文章,未经博主同意不得转。本文章博客地址:https://cplusplus.blog.csdn.net/a

    2024年02月21日
    浏览(69)
  • JavaScript删除字符串中指定字符的四种方法

    推荐使用第一种 第四种 方法一:使用 replace()方法 replace()方法用于将特定字符或字符串替换为其他字符或字符串 参数: 第一个参数是待替换的字符或字符串 , 第二个参数是替换为的字符或字符串。 可以将第一个参数设为 要删除的字符 ,将第二个参数 设为空字符串 ,这样

    2024年02月15日
    浏览(62)
  • BigDecimal 类型 比较大小

    2024年02月09日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包