- 1、本文档共33页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[工学]第7章 字符串
Java编程技术 Java程序设计实践教程 第七章 字符串 第七章 字符串 String类 StringBuffer类 基础数据类型的包装类 String类 String是一个非可变类(immutable)。 简单说来,非可变类的实例是不能被修改的,每个实例中包含的信息都必须在该实例创建的时候就提供出来,并且在对象的整个生存周期内固定不变。 非可变类确实有着自身的优势: 状态单一,对象简单,便于维护。 该类对象对象本质上是线程安全的,不要求同步。 用户可以共享非可变对象,甚至可以共享它们的内部信息。 String类在java中被大量运用,甚至在class文件中都有其身影,因此将其设计为简单轻便的非可变类是比较合适的。 String类 创建一个String对象,主要就有以下两种方式: String?str1?=?new?String(abc);????? ?? String?str2?=?abc;?? 虽然两个语句都是返回一个String对象的引用,但是JVM对两者的处理方式是不一样的。 例:Pool.java String类 字符串池(String Pool) 在JAVA虚拟机(JVM)中存在着一个字符串池,其中保存着很多String对象,并且可以被共享使用,因此它提高了效率。 由于String类是final的,它的值一经创建就不可改变,因此我们不用担心String对象共享而带来程序的混乱。 字符串池由String类维护,我们可以调用intern()方法来访问字符串池。 String类 JVM处理方式 第一种,JVM会马上在堆内存中创建一个String对象,然后将该对象的引用返回给用户。 第二种,JAVA虚拟机首先在字符串池中查找是否已经存在了值为“abc”的这么一个对象,它的判断依据是String类equals(Object obj)方法的返回值。 如果有,则不再创建新的对象,直接返回已存在对象的引用; 如果没有,则先创建这个对象,然后把它加入到字符串池中,再将它的引用返回。 String类 Java.lang.String类代表不可变的字符序列。 “xxxx”为该类的一个对象。 String类的常见构造方法: String(String original) 创建一个String对象为original的拷贝。 String(char[] value) 用一个字符数组创建一个String对象。 String(char[] value, int offset, int count) 用一个字符数组从offset项开始的count个字符序列创建一个String对象。 String类举例(1) String类常用方法(1) public char charAt(int index) 返回字符串中第index个字符 public int length() 返回字符串的长度 public int indexOf(String str) 返回字符串中出现str的第一个位置 public int indexOf(String str,int fromIndex) 返回字符串中从fromIndex开始出现str的第一个位置 public boolean equalsIgnoreCase(String another) 比较字符串与another是否一样(忽略大小写) public String replace(char oldChar, char newChar) 在字符串中用newChar字符替换oldChar字符 String类举例(2) String类常用方法(2) public boolean startsWith(String prefix) 判断字符串是否以prefix字符串开头 public boolean endsWith(String suffix) 判断字符串是否以prefix字符串结尾 public String toUpperCase() 返回一个字符串为该字符串的大写形式 public String toLowerCase() 返回一个字符串为该字符串的小写形式 public String substring(int beginIndex) 返回该字符串从beginIndex开始到结尾的子字符串 public String substring(int beginIndex,int endIndex) 返回该字符串从beginIndex开始到endIndex-1结尾的子串 public String trim() 返回将该字符串去掉开头和结尾空格后的字符串 String类举例(3) String类常用方法(3) 静态重载方法 public static String valueOf(……)可以将基本类型数
文档评论(0)