java学习笔记_关于字符串概述

所属分类: 软件编程 / java 阅读数: 20
收藏 0 赞 0 分享

一、String类

String类代表字符串,是由字符构成的一个序列。创建String对象的方法很简单,有以下几种:

1)用new来创建:

String s1 = new String("my name is tongye");

2) 不用new直接创建:

String s2 = "my name is tongye";

3) 可以用字符数组来创建一个字符串:

char[] c = {'t','o','n','g','y','e'};

String s3 = new String(c);

String对象是不可变的,它们的值在创建后不能更改。String类中每一个看起来会修改String值的方法,实际上都是创建了一个全新的String对象,以包含修改后的字符串内容。像下面这样:

String s = "tongye";     // 创建了一个内容为 “tongye” 的String对象,并将其引用赋值给s,s是一个String类型的引用

  s = "TONGYE";         // 创建了一个内容为“TONGYE”的新的String对象,并将其引用赋值给s

第二条语句创建后,第一个String对象“tongye”并没有消失,只是不能再访问它,因为现在引用s指向了另一个对象“TONGYE”。

String类有15种构造方法,以及许多处理字符串的方法,下面简单介绍一些:

String();                  // 初始化一个新创建String对象,使其表示一个空字符序列

String(byte[] bytes);            // 使用平台默认的字符集解码指定的byte数组,构造一个新的String

String(byte[] bytes,Charset charset);     // 使用指定的Charset解码指定的byte数组,构造一个新的String

String(byte[] bytes,int offset,int length);  // 使用平台默认的字符街解码指定的byte子数组,构造一个新的String,其中offset是第一个字符的索引,length是子数组的长度

String(StringBuilder builder);        // 分配一个新的字符串,它包含字符串生成器参数中当前包含的字符序列

String(StringBuffer buffer);         // 分配一个新的字符串,它包含字符串缓冲区参数中当前包含的字符序列
charAt(int index);    // 返回指定索引处的char值

s1.compareTo(s2);    // 按字典顺序比较两个字符串s1和s2,返回一个int型数据

s1.equals(s2);       // 将s1与s2相比较,若完全相等,则返回true  

s1.contact(s2);      // 将s2连接到字符串s1的结尾

toString();          // 返回此对象本身

toUpperCase();      // 将所有字符都转换成大写

valueOf(boolean b);   // 返回boolean参数的字符串表示形式

substring(int beginIndex,int endIndex);  // 返回一个新的字符串,它是该字符串的子字符串,在beginIndex和endIndex之间

split(regex);         // 使用给定的正则表达式来拆分此字符串

二、StringBuffer和StringBuilder类

String对象一旦被创建,其内容便不能更改,这使得String类并不是很灵活,在一些场合下并不方便。StringBuffer和StringBuilder类是可以替代String类的另一种处理字符串的解决方案,它们相比String类来说更为灵活:可以向一个StringBuffer或StringBuilder类中添加、插入或追加新内容。一般来说,只要是使用字符串的地方,都可以用StringBuffer或StringBuilder类。

1、StringBuffer

 StringBuffer是一个线程安全的可变字符序列,一个类似于String的字符串缓冲区,但是不能修改。StringBuffer有多种处理字符串的方法,其中主要操作是append和insert方法。StringBuilder是线程安全的。

append(boolean b);  // 将布尔类型参数的字符串表示形式追加到序列末尾,其他参数类型与之类似

insert(int offset,char c);  // 将char类型参数的字符串表示形式插入到此序列索引为offset的字符后面

delete(int start,int end);  // 删除索引号start和end之间的字符

deleteCharAt(int index);  // 移除序列指定位置处的char

2、StringBuilder

StringBuilder是一个可变的字符序列。它提供一个与StringBuffer兼容的API,但不保证同步。该类被设计为StringBuffer的一个简单替换,用在字符串缓冲区被单个线程使用的时候。在大多数情况下,它比StringBuffer快。将StringBuilder的实例用于多个线程是不安全的。

以上这篇java学习笔记_关于字符串概述就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

更多精彩内容其他人还在看

Java数据类型的规则

这篇文章主要介绍了Java数据类型的规则的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

Spring整合TimerTask实现定时任务调度

这篇文章主要介绍了Spring整合TimerTask实现定时任务调度的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

详解SpringMVC使用MultipartFile实现文件的上传

本篇文章主要介绍了SpringMVC使用MultipartFile实现文件的上传,本地的文件上传到资源服务器上,比较好的办法就是通过ftp上传。这里是结合SpringMVC+ftp的形式上传的,有兴趣的可以了解一下。
收藏 0 赞 0 分享

SpringMVC上传文件的三种实现方式

本篇文章主要介绍了SpringMVC上传文件的三种实现方式,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

微信公众帐号开发-自定义菜单的创建及菜单事件响应的实例

本篇文章主要介绍了微信公众帐号开发-自定义菜单的创建及菜单事件响应的实例,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。
收藏 0 赞 0 分享

浅析Java中的继承与组合

本文将介绍组合和继承的概念及区别,并从多方面分析在写代码时如何进行选择。文中通过示例代码介绍的很详细,有需要的朋友可以参考借鉴,下面来一起看看吧。
收藏 0 赞 0 分享

利用反射获取Java类中的静态变量名及变量值的简单实例

下面小编就为大家带来一篇利用反射获取Java类中的静态变量名及变量值的简单实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

java启动线程的3种方式对比分析

这篇文章主要为大家对比分析了java启动线程的3种方式,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

SpringMVC上传和解析Excel方法

这篇文章主要介绍了SpringMVC上传和解析Excel方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

JAVA中String类与StringBuffer类的区别

这篇文章主要为大家详细介绍了JAVA中String类与StringBuffer类的区别,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享
查看更多