`

String类的学习(一)

    博客分类:
  • JAVA
阅读更多


   前面这里主要介绍了一下String类的一些特点还有它的一些方法,比如检查,搜索,比较两个字符串的内容,截取字符串,提取子串,把整个字符串拷贝转换成大写字母或者小写字母,还有一些特殊的支持把其他类型对象转换成字符串类型。
实现 java.io.Serializable 接口,使得String能够序列化。

String类的一些构造方法就是把子数组的值复制给新的字符串

这是其中一个构造方法的例子
    value - 作为字符源的数组。
    offset - 初始偏移量。
    count - 长度。
如果 offset 和 count 参数索引字符超出 value 数组的范围,会抛出越界错误IndexOutOfBoundsException

String类中常用的一些方法,一些操作:
使用+运算符可以将两个String对象连接成一个新的字符串,如果+运算符的其中一个操作数为String或字面量时,编译器会将该操作解释成字符串串联,
并将非String对象的操作数转换成一个字符串。

输出结果很有意思:

   我们知道+运算符从左到右的结合性,第一个myString从左到右先执行5+5,执行结果为10,再把10和最右边的字符串进行+运算,10转换成String类型,再和右边的String类型操作数执行+运算
第二个myString从左至右执行,每次+运算时总有一个操作数是String类型,因此输出的结果就成了:fifty is :55.


charAt(int index)
返回指定索引处的 char 值。索引范围为从 0 到 length() - 1。序列的第一个 char 值位于索引 0 处,第二个位于索引 1 处
       String str="abcd";
           String str2=new String("efg"); //这两种方式都能创建String类型的对象,
                  String str3="ABCD";
           String str4="abcd";//str,str2,str3,str4在下文中都会用到
           char s=str.charAt(1);
           System.out.println(s);//这里输出的值为b,也就是字符串中的第二个字符



字符串比较:

如果按字典顺序此 String 对象位于参数字符串之前,则比较结果为一个负整数。如果按字典顺序此 String 对象位于参数字符串之后,则比较结果为一个正整数。如果这两个字符串相等,则结果为 0;compareTo 只在方法 equals(Object) 返回 true 时才返回 0
System.out.println(str.compareTo(str2));//输出结果为-4
System.out.println(str.compareTo(str4));//输出结果为0


equals:
   是继承于Object类的一个方法,String类重写了这个方法,比较两个字符串值是否相等

只要两个字符串值相等就行,==比较的是地址,equals在Object中定义的也是比较地址,String重写了这个方法。可以看到源代码中,String先看是不是字符串本身,是本身的话直接返回true,然后再看长度是不是相等,长度相等的情况下逐个比较每个字符是否对应相等。


compareToIgnoreCase(String str)按字典顺序比较两个字符串,不考虑大小写。

根据指定 String 大于、等于还是小于此 String(不考虑大小写),分别返回一个负整数、0 或一个正整数
System.out.println(str.compareToIgnoreCase(str3));//str3为ABCD,输出结果为0


equalsIngnoreCase:String类中定义的方法,和上面那个方法用法和功能都相同



concat(String str)将指定字符串连接到此字符串的结尾

示例:  "cares".concat("s") returns "caress"
        "to".concat("get").concat("her") returns "together"
        System.out.println(str.concat(str2));//输出abcdefg

contains(CharSequence s) 如果此字符串包含 s,则返回 true,否则返回 false
   boolean b=str2.contains("e");
   System.out.println(b);//str2为efg,输出结果为true

String类中还有很多其他的方法,因为待会要去上课,先写这么点,改天写续集,哈哈。写得很凌乱,有时间再把这些整理一下。











  • 大小: 44.4 KB
  • 大小: 18.2 KB
  • 大小: 9.8 KB
  • 大小: 2 KB
  • 大小: 12.9 KB
  • 大小: 14.8 KB
  • 大小: 10.7 KB
  • 大小: 9.5 KB
分享到:
评论

相关推荐

    功能强大的String类源码(C++)

    用C++语言实现的一个功能强大的String类,该类包含对字符串的各种灵活操作,40多个强大的API(CharAt,Length,IndexOf,Replace,Add,Insert,Remove.....), 为学习数据结构的朋友提供了很好的帮助。

    数据结构学习——我的string类

    刚学数据结构感觉特别难,对第一个任务编写一个自定义的string类,搞的焦头烂额的。好不容易做出来,在此分享一下,里面还有老师的示例!呵呵,有意者来看看,顺便帮我改进一下!

    《深入学习c++string》2.1版

    一、 C++的string的使用 4 1.1 C++ string简介 4 1.2 string的成员 4 1.2.1 append 4 1.2.2 assign 5 1.2.3 at 5 1.2.4 begin 6 1.2.5 c_str 6 1.2.6 capacity 6 1.2.7 clear 7 1.2.8 compare 7 1.2.9 copy 7 1.2.10...

    C++中string类的模拟实现

    该资源有助于C++学习者从实现原理的层面进一步了解string类,为后续对string类灵活使用打下一个良好的基础;C++库中的string类接口较多,读者也可在此资源的基础上继续实现相关接口,并编写相应的测试代码进行测试。

    自定义string类

    自已写的一个小类,可用于使用和学习.主要是对内存的管理方面的基本理解.

    c++string类的实现

    2)string类经常用到find find_first_of find_first_not_of find_last_of find_last_not_of substr replace等,以及联合使用来达到java中的split和trim 3) 有些函数返回的是MyString& 、Char& 等(引用),MyString、...

    string类的常用方法.pdf

    string类是Java中的一种数据类型,用于表示文本字符串。它是不可变的,也就是说一旦创建了一个字符串对象,它的值就不能被修改。字符串类提供了许多方法来操作字符串,包括拼接、比较、截取和搜索等。 可以使用字符...

    C++下基于QT的String类自己实现

    C++下基于QT的String类自己实现,个人编码,纯学习,有问题可以跟我探讨。

    【Java学习】String类

    String类 String类代表字符串 程序当中的所有的双引号字符串,都是String类的对象(就算没有new,也照样是) 特点: 1.字符串的内容永不可变; 【重点】 2.正是因为字符串不可改变,所以字符串是可以共享使用的; 3....

    C++简单String类的实现

    我跟很多童鞋一样,目前也在学习C++中,昨天正在学习has-a关系中的包含时,例题是将string类包含的,因为是小白嘛,嘿嘿,为了更深的理解包含以及其他相关问题,果断上机边敲代码边理解咯,既然用到了string类,自己...

    Java中String类和IO流——学习小结

    String类在java.lang包中,java使用String类创建一个字符串变量,字符串变量属于对象。String类对象创建后是一个常量,有final修饰,不能被修改。字符串重新赋值不是修改,而是生成了一个新的字符串,原先的字符串...

    面试题:Java String类常见操作和用法

    Java的String类是一个重要的核心类,用于处理字符串操作。本文将介绍Java String类的常见操作和用法,包括字符串的创建、比较、连接、截取、替换等。我们还会讨论字符串与其他数据类型之间的转换、字符串的搜索和...

    轻松学习C#的String类

    在C#语言中,字符串是System.String类的一个引用类型,但与其他引用类型不同的是,C#将字符串视为一个基本类型,可以声明为一个常量,并可以直接赋值。由于C#中的字符串是由System,String类派生而来的引用对象,因此...

    C string深入详解2.0版_C++_string_

    学习string类相关的操作是学习c++语言很重要的一个内容,c++的string类详细讲解

    对String的深入理解

    语句声明一个类A的引用变量aa[我常常称之为句柄],而对象一般通过new创建。所以题目中s仅仅是一个引用变量,它不是对象。[ref 句柄、引用与对象] 二、Java中所有的字符串文字[字符串常量]都是一个String的对象。有...

    Java学习笔记(六)–字符串String类

    文章目录字符串一、String 类1.1 声明字符串1.2 创建字符串二、连接字符串2.1 连接多个字符串2.2...在 Java 语言中将字符串作为对象来处理,可以通过 java.lang包中的String类来创建字符对象。 1.1 声明字符串 在Java语

    C# 一个完整的类示例:字段、属性、构造函数和方法学习示例

    Person类还有一个带有三个参数的构造函数:public Person(string name, int age, string address)。该构造函数用于初始化对象的name、age和address字段。 Person类中还有一个名为SayHello的公共方法。该方法用于...

    java代码-【3】定义一个学生类,使用LinkedList对学生类进行管理,执行添加操作,并打印数据。 运行效果图为: 任务: 1.定义一个学生类Student (1)属性为:学号stuId(int),姓名name(String),成绩score(float) (2)方法为:构造方法,getter和setter方法,toString方法 2.定义三个Student类的对象,添加到LinkedList中 3.显示LinkedList中元素的内容

    java代码-【3】定义一个学生类,使用LinkedList对学生类进行管理,执行添加操作,并打印数据。 运行效果图为: 任务: 1.定义一个学生类Student (1)属性为:学号stuId(int),姓名name(String),成绩...

    C#字符串内存分配与驻留池学习分享

    刚开始学习C#的时候,就听说CLR对于String类有一种特别的内存管理机制:有时候,明明声明了两个String类的对象,但是他们偏偏却指向同一个实例。如下: 代码如下:String s1 =”Hello”;String s2 =”Hello”; //s2...

Global site tag (gtag.js) - Google Analytics