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 ...
随机推荐
- xmind教程
xmind是什么东西我不多说.作为一个程序员,我通常用来编写一个文档.比如某个模块的设计或者流程图. 一开始我是以word画图的方式来用xmind的,即想要什么图形,就去插入里面找.结果碰了一鼻子灰, ...
- 创建UIButton
UIButtonCreate.h #import <UIKit/UIKit.h> @interface UIButtonCreate : UIButton /** * 创建UIButton ...
- webService 客户端接口调用【java】
最近实际项目中使用到了WebService,简单总结下使用方式: 1.拿到接口:http://*******:8080/osms/services/OrderWebService?wsdl 我们可以将 ...
- jdbc和数据库的应用
jdbc是Java Data Base Connectivity(java数据库连接): 是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和 ...
- 安卓查询当前所在地天气及查询地区(城市)代码cityCode localCode
源码可获取用户当前位置的天气情况 本代码最有价值的部分在于关于城市码的获取,我用了两个小时才将全国主要城市的编码整理成HashMap,下载即可用! 试一试:点击下载. ---------------- ...
- CI分支kohana在线文档
http://www.luzhongpeng.com/guide/kohana/mvc/controllers http://www.lampblog.net/kohana3%E4%BD%BF%E7% ...
- hbase学习笔记-----REST客户端
1. 启动REST服务 a.启动一个非守护进程模式的REST服务器(ctrl+c 终止) bin/hbase rest start b.启动守护进程模式的REST服务器 bin/hbase-daemo ...
- Git入门——基础知识问答
问题一:为什么要选择Git作为Android开发的版本控制工具? 答:1)git是android项目和社区的统一语言. 2)高通版本发布频繁,需要与平台及时同步,快速re ...
- struts2 注解方式
struts2扫描方法: 扫描其位于包的命名注解的类 “struts, struts2, action 或 actions“. 接着,扫描相匹配下列任一条件的文件: 实例了 com.opensymph ...
- Tomcat学习笔记 - 错误日志 - NetBeans配置tomcat出错情况总结 -- 尚未授予访问 Tomcat 服务器的权限。请在服务器管理器的 Tomcat 定制器中设置 "manager-script" 角色的正确用户名和口令。 有关详细信息, 请查看服务器日志。
错误描述: 发布时控制台出现: 部署错误: 尚未授予访问 Tomcat 服务器的权限.请在服务器管理器的 Tomcat 定制器中设置 "manager-script" 角色的正确用 ...