java笔记之String的应用
说来这String字符串也是运用广泛了,但是String的一些使用方法你是否能够了解清楚呢?
这是我这几天来整理的String笔记,其实这也是不全面的,要想深入了解,还得自己去oracle官网看JDK_API
1.我们要先了解在内存区中是如何保存字符串的.
如果创建字符串没有通过new对象的方式创建,name字符串是保存在字符串常量池(常量区),当你需要给一个字符串变量赋值的时候,先到常量池中查找,如果没有就在常量池中创建一个,并将地址赋值给字符串变量,如果有就不在创建,直接将地址给变量.
如果是new的对象字符串也是保存在字符串常量池(常量区),当你需要给一个字符串变量赋值的时候,先到字符串常量池中查找,
如果没有就在常量池创建一个,将值赋给堆中的对象,如果有就不创建,将值赋值给堆区中的对象
2.字符串的一些常用方法:
StringBuffer: 字符串缓存区 : 存在一个字符数组 默认会有一个大小 :16 ,如果超了就容器大小就翻一倍。* 类似oc中的可变字符串。 */
StringBuffer :存字符的容器
容器的功能 :
增加
append(); //在字符串的后面追加
insert(); //插入一个字符串。
删除
delete(int start, int end) // 删除某一段字符串。
deleteCharAt(int index) // 删除指定位置的字符串
修改
replace(int start, int end, String str) 根据指定 的开始与结束索引值替代成指定的内容。
reverse() 翻转字符串缓冲类的内容。 abc--->cba
setCharAt(int index, char ch) 把指定索引值的字符替换指定的字符。
substring(int start, int end) 根据指定的索引值截取子串。
ensureCapacity(int minimumCapacity) 指定StringBuffer内部的字符数组长度的。
查找
indexOf(String str, int fromIndex) 查找指定的字符串第一次出现的索引值,并且指定开始查找的位置。
lastIndexOf(String str)
capacity() 查看当前字符数组的长度。
length()
charAt(int index)
toString() 把字符串缓冲类的内容转成字符串返回。
1.先简单的使用一下StringBuffer
StringBuffer str = new StringBuffer();
-------------添加字符串的方法---------------------
str.append("字符串");
str.append("java"); //字符串的追加
插入字符串
offset:从某一个位置开始插入
str : 插入的数据类型
str.insert(3, "php");
System.out.println(str);
------------删除数据----------------
delete(int start, int end) // 删除某一段字符串。
deleteCharAt(int index) // 删除指定位置的字符串
str.delete(3, 4); //包含起始位置 但是不包含结束位置
System.out.println(str);
删除指定位置的字符串
str.deleteCharAt(0);
System.out.println(str);
------------修改的方法-------------------
start:起始位置
end : 结束的位置
str : 替换的字符串
符串hpjava
str.replace(4, str.length(), "OC");
System.out.println(str);
翻转字符串
str.reverse();
System.out.println(str);
替换指定位置的字符
index :指定的位置
ch :替换的字符
COph串符
str.setCharAt(0, 'O');
System.out.println(str);
截取字符串
str.substring(start); // 从某个位置开始截取
str.substring(start, end)//截取某一段字符串
-------------查找:
str.indexOf(str);// 查找指定的字符串在大的字符串中的位置。
indexOf(String str, int fromIndex) //从指定的位置开始找。
str.lastIndexOf(str) 查找最后一个
str.lastIndexOf(str, fromIndex)//从指定的位置开始找
查看字符数组的长度
str.length();
str.capacity();
str.toString(); // 将String变为String
str.charAt(index); 查找指定位置的字符
StringBulider 和StringBulider的使用方式是一模一样
StringBuffer 和 StringBulider 区别:
相同点 :
1.都是字符缓冲类
2.两个类的方法一样
不同点:
1.StringBuffer线程更安全,操作效率低,StringBulider 线程不安全,效率高。
2.StringBuffer是jdk1.0就有的,StringBuliderjdk1.5才有。
推荐使用:StringBulider
java笔记之String的应用的更多相关文章
- java笔记04: String的理解与运用
一,“==”与equals() 运行以下代码,如何解释其输出结果? public class StringPool { public static void main(String args[]) { ...
- Java笔记:String类
1.String类是不可变类,一旦一个String对象被创建以后,包含在这个对象中的字符序列式不可改变的,直至这个对象被销毁. String s1 = "java"; s1 = s ...
- Java笔记之String
1. String s="a",t="b"; t.concat(s); 之后,t仍然是"b",而不是"ba",要使t是& ...
- Core Java读书笔记之String
Java里面的String Conceptually, Java Strings are sequences of Unicode characters. Java里面的String都是Unicode ...
- Effective Java笔记一 创建和销毁对象
Effective Java笔记一 创建和销毁对象 第1条 考虑用静态工厂方法代替构造器 第2条 遇到多个构造器参数时要考虑用构建器 第3条 用私有构造器或者枚举类型强化Singleton属性 第4条 ...
- java笔记整理
Java 笔记整理 包含内容 Unix Java 基础, 数据库(Oracle jdbc Hibernate pl/sql), web, JSP, Struts, Ajax Spring, E ...
- 转 Java笔记:Java内存模型
Java笔记:Java内存模型 2014.04.09 | Comments 1. 基本概念 <深入理解Java内存模型>详细讲解了java的内存模型,这里对其中的一些基本概念做个简单的笔记 ...
- servlet(6) - servlet总结 - 小易Java笔记
垂阅前必看: 这都是我总结的我觉得是学习servlet应该掌握的,我在学习期间也做了一个博客项目来让所学的知识得以巩固.下面就是博客项目链接.前面的servlet相关的笔记总汇,还有就是我把觉得在学习 ...
- Java笔记 —— 继承
Java笔记 -- 继承 h2{ color: #4ABCDE; } a{ text-decoration: none!important; } a:hover{ color: red !import ...
随机推荐
- Handsontable Read-only cells
一,列只读
- 用CSS3实现对图片的放大效果
用CSS3对图片放大效果 .right_div .topicons li a:hover img{ -webkit-transform:scale(1.5,1.5); -moz-tra ...
- samba服务器概述
一.samba服务器概述 Samba是一个能让Linux系统应用Microsoft网络通信协议的软件.而SMB是Server Message Block的缩写,即为服务器消息块.SMB主要作为Micr ...
- 自由缩放属性-resize(禁止textarea的自由缩放尺寸功能)
resize:none|both|horizontal|vertical|inherit 可以用来改变元素的尺寸大小 用上这个属性后元素的有下脚会有一个小图标 拖它就可以了 但是我把resize:bo ...
- 关于EventHandler的使用
也就是委托和事件的使用.使用过,但了解的不够深入,现在逐渐来填以前留下的坑吧. EventHandler, EventHandler<TEventArg> 是.net Framework内 ...
- SQL Server事务的存储过程
在酒店管理系统开发中,我们会创建房间表和房间类型表(房型表)这两个表,如下图所示: 房型表:RoomType 房间表:Room 首先这两个表的关系:Room是从表,RoomType是主表,两表有主外键 ...
- MyBatis调用Oracle的存储过程
Mapper.xml文件: --------------------------------- <parameterMap type="map" id="class ...
- busybox中tftp服务器使用命令
参数说明:-l 是local的缩写,后跟存在于Client的源文件名,或下载Client后重命名的文件名.-r 是remote的缩写,后跟Server即PC机tftp服务器根目录中的源文件名,或上传S ...
- perl6 JSON::Fast模块json解析的使用
关于JSON: JSON (JavaScript Object Notation)是一种轻量级的数据交换格式,语法简单,各种语言都有相应的库或者模块支持. 因为JSON非常小巧,解析起来又非常简单,我 ...
- 每天一点css3聚沙成塔(一):transition
transition 语法: transition:[ transition-property ] || [ transition-duration ] || [ transition-timing- ...