`

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类

    首先,`std::string`是C++标准库中的一个类模板,它表示可变长度的字符序列。在声明时,你可以通过构造函数初始化字符串,例如: ```cpp std::string str = "Hello, World!"; ``` 这将创建一个包含"Hello, World!...

    java基础String类选择题练习题

    ### 一、String类基础知识 #### 1. String类的不可变性 - **知识点**:解释为什么`String`类是不可变的(immutable),以及不可变性带来的好处。 - **例题**:选择题中可能会问到关于字符串池的概念以及如何利用这...

    java自制string类例程

    在Java编程语言中,String类是一个非常基础且重要的部分,它是不可变的,也就是说一旦创建了一个String对象,就不能更改它的内容。然而,许多初学者在学习过程中可能会尝试自己创建一个类似的字符串类,以便更好地...

    使用字符指针实现的一个简单string类

    然而,有时候为了学习或者特定需求,我们需要自定义一个简单的`string`类。题目中的"使用字符指针实现的一个简单`string`类"就是这样的一个实践。 在这个自定义的`string`类中,主要涉及以下几个知识点: 1. **...

    string类的构造方法_String类重要吗_C++_STL_string_

    标题中的“string类的构造方法”揭示了我们要探讨的核心内容——如何初始化和创建`std::string`对象。`std::string`类不仅在日常编程中频繁使用,而且在很多高级功能如正则表达式、文本处理等方面都有重要应用,因此...

    string类讲解文档

    在C++编程语言中,`std::string` 类是一个非常重要的数据类型,它用于表示和操作文本字符串。这个文档详细地介绍了`std::string`类的各种函数,旨在帮助程序员理解和熟练使用这一强大的工具。以下是对`std::string`...

    c++链表string类程序

    通过这个"链表string类程序",学习者可以了解如何在链表数据结构中使用`std::string`,掌握如何在链表中插入、删除和查找字符串,同时加深对C++标准库的理解。这有助于提升编程技能,特别是处理文本数据时的效率和...

    c++自定义string类

    然而,自定义一个`string`类通常是为了学习目的或在特定场景下实现特定功能。创建自定义`string`类,我们需要定义类的结构,包括数据成员(存储字符串的字符数组)和成员函数(提供字符串的各种操作)。 1. **构造...

    自己写的String类

    创建自己的`String`类通常是学习面向对象编程时的一个常见练习,目的是更好地理解类的构造、成员函数、内存管理和继承等概念。 自定义的`String`类可能包含以下关键组成部分: 1. **构造函数**:这是创建新对象时...

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

    在C++编程中,"数据结构学习——我的string类"是一个典型的任务,旨在帮助初学者理解数据结构的基本概念,并通过实现自定义的string类来深化对C++的理解。下面将详细讨论这个主题,以及相关的知识点。 首先,让我们...

    c++string类函数原型借鉴.pdf

    本文主要介绍了C++中的字符串类函数原型借鉴,通过自定义的String类来实现字符串的操作。下面将对标题、描述、标签和部分内容进行详细的分析和解释。 标题:C++ String 类函数原型借鉴 C++中的字符串操作是非常...

    自己写了个string类

    标题提到的“自己写了个string类”,意味着作者创建了一个类似于C++标准库中的`std::string`的自定义字符串类。这样的练习有助于深入理解字符串的内部工作原理、内存管理和对象操作。下面我们将详细探讨这个话题。 ...

    java String类的实现

    Java中的`String`类是编程中最常用的类之一,它在Java的`java.lang`包中,无需显式导入即可使用。`String`类代表不可变的字符序列,这意味着...通过深入学习和实践,你可以更好地利用`String`类来处理各种文本数据。

    自定义String类

    虽然C++标准库中已经提供了`std::string`类,但为了学习和理解对象导向编程(OOP)以及C++的特性,有时我们会选择自定义一个`String`类。在这个自定义的过程中,我们可以更好地控制字符串的操作,并深入理解内存管理...

    String类使用

    在Java编程语言中,`String`类是使用最频繁的类之一,主要用于处理文本字符串。它的功能强大且灵活,能够满足各种字符串操作需求。本文将深入探讨`String`类的使用,帮助你快速掌握其核心概念和常见方法。 首先,`...

    C++实现string类

    然而,为了深入理解C++的机制,有时我们可能需要自定义一个`string`类来实现特定的功能或者学习如何复现内置类型的行为。本篇文章将详细介绍如何在C++中实现一个简单的`string`类,并覆盖一些基本的运算符,如`+`、`...

    JAVA实验报告四(实现String类).doc

    在以后的学习中,我们可以继续深入学习 String 类的实现原理,并掌握更多的字符串操作方法。 附录 在本实验报告中,我们提供了详细的实现过程和结果,我们可以通过这些结果来了解 String 类的实现原理,并掌握基于...

    自己参考些资料写的string类(简单的一个类,大家看看然后指点下)

    C++标准库提供了`std::string`类,但为了学习和理解面向对象编程,有时我们会尝试自己编写一个简单的`string`类。这里我们将讨论如何创建一个自定义的`string`类,以及可能涉及到的关键知识点。 首先,自定义`...

    C++重写String类

    一、为什么要重写String类? 1. **定制功能**:标准库的`std::string`可能不满足某些特定需求,如特定的内存管理策略、额外的成员函数或操作符重载。 2. **教学目的**:通过实现自己的字符串类,可以更好地理解字符...

Global site tag (gtag.js) - Google Analytics