《Java编程那点事儿》读书笔记(四)——String和StringBuffer
String
1.toString:显示对象内容时系统自动调用的方法。
public class TOSTRING {
public String toString(){
return "this is toString method";
}
}
TOSTRING t = new TOSTRING();
System.out.println(t);
2.Math
Math.函数
3.String
1)char charAt(int n) //获得字符串索引为1的字符
String a = "abc";
char b = a.charAt(1); //b的值为'b'
2)int compareTo(String s)
String s = "abc";
String ss = "abd";
System.out.println(s.compareTo(ss));
比较两个字符串的大小,相等输出0;如果s小于ss,输出-1;如果s大于ss,输出1。
尝试了一下,比较"abc"和"ABC",输出的是32,不知道是什么=。=,如果要忽略大小写比较字符串的话可以用下面的compareToIgnoreCase(String s)函数
3)int compareToIgnoreCase(String s)
String s = "abc";
String ss = "BCD";
System.out.println("test compareTo");
System.out.println(s.compareToIgnoreCase(ss));
4)boolean endsWith(String s)
判断字符串是否以s结尾,如果是,返回true
String a = "student.doc";
boolean b = s.endsWith("doc");
5)equals
判断两个字符串对象内容是否相同。如果用“==”比较的是两个字符串在内存存储的地址是否一样。另外一个类似的方法是equalsIgnoreCase(s1);
6)int indexOf(String s,[int i])
查找s在字符串中的索引,找不到返回-1。如果加上参数i表示忽略前i个字符,直接从i+1处找s。对应的还是方法lastIndexOf
String s = "abc";
int index = s.indexOf('d'); //返回-1
index = s.indexOf('b',2); //返回-1
index = s.lastIndexOf('b'); //返回1
7)length方法:返回字符串的长度
8)replace方法:替换字符串中所有指定的字符,然后生成一个新的字符串。
replaceAll方法:替换某个制定的字符串——s.replaceAll("ba","12");
replaceFirst方法:替换s中第一次出现的制定字符串
9)split方法:以特定字符串作为间隔摘分字符串得到一个字符串数组
如果字符串内部存在和间隔字符串相同的内容时,将得到空字符串,例如abbcbtbb用b拆分得到{"a","","c","t"},结尾的空
字符串被忽略
10)String substring(int m):返回索引值m(包括)以后的所有字符作为子字符串
String substring(int m,int n):返回索引值m(包括)到n(不包括)之间的字符作为子字符串。
11)String trim():去掉字符串开始和结尾的空格。
12)valueOf:将其他类型的数据转换为字符串类型。static方法,不用创建String类型的对象。下面是一个判断自然数位数的程序
int n = 12345;
string s = String.valueOf(n);
int len = s.length(); //len值为5
StringBuffer
StringBuffer处理字符串的时候不生成新的对象,直接在原来的字符串上面修改。
1)初始化
StringBuffer s = new StringBuffer();
2)和String之间的转化
String s = "abc";
StringBuffer sb1 = new StringBuffer("123"); StringBuffer sb2 = new StringBuffer(s); //String转StringBuffer
String s1 = sb1.toString(); //StringBuffer转String
3)append方法
StringBuffer sb = new StringBuffer();
String user = "test";
String pwd = "123"; sb.append("select *from userInfo where username=")
.append(user)
.append("and pwd=")
.append(pwd);
4)public StringBuffer deleteCharAt(int index)
public StringBuffer delete(int start,int end) //删除start(包含)到end(不包含)间的字符
5)public StringBuffer insert(int offset, String str)
查了一下第二个参数的取值还有很多,包括boolean,int等。
6)reverse
7)public void SetCharAt(int index,char ch);
《Java编程那点事儿》读书笔记(四)——String和StringBuffer的更多相关文章
- 《实战Java高并发程序设计》读书笔记四
第四章 锁的优化及注意事项 1.锁性能的几点建议 减小锁持有时间: 系统持有锁时间越长锁竞争程度就越激烈,只对需要同步的方法加锁,可以减小锁持有时间进而提高锁性能. 减少锁的持有时间有助于降低锁冲突的 ...
- 《Java并发编程的艺术》读书笔记:二、Java并发机制的底层实现原理
二.Java并发机制底层实现原理 这里是我的<Java并发编程的艺术>读书笔记的第二篇,对前文有兴趣的朋友可以去这里看第一篇:一.并发编程的目的与挑战 有兴趣讨论的朋友可以给我留言! 1. ...
- 《深入了解java虚拟机》高效并发读书笔记——Java内存模型,线程,线程安全 与锁优化
<深入了解java虚拟机>高效并发读书笔记--Java内存模型,线程,线程安全 与锁优化 本文主要参考<深入了解java虚拟机>高效并发章节 关于锁升级,偏向锁,轻量级锁参考& ...
- 【转】Verilog HDL常用建模方式——《Verilog与数字ASIC设计基础》读书笔记(四)
Verilog HDL常用建模方式——<Verilog与数字ASIC设计基础>读书笔记(四) Verilog HDL的基本功能之一是描述可综合的硬件逻辑电路.所谓综合(Synthesis) ...
- 【转载】MDX Step by Step 读书笔记(四) - Working with Sets (使用集合)
1. Set - 元组的集合,在 Set 中的元组用逗号分开,Set 以花括号括起来,例如: { ([Product].[Category].[Accessories]), ([Product].[ ...
- <<Java RESTful Web Service实战>> 读书笔记
<<Java RESTful Web Service实战>> 读书笔记 第一章 JAX-RS2.0入门 REST (Representational State ransf ...
- 《Java并发编程的艺术》读书笔记:一、并发编程的目的与挑战
发现自己有很多读书笔记了,但是一直都是自己闷头背,没有输出,突然想起还有博客圆这么个好平台给我留着位置,可不能荒废了. 此文读的书是<Jvava并发编程的艺术>,方腾飞等著,非常经典的一本 ...
- 《Effective Java中文版第二版》读书笔记
说明 这里是阅读<Effective Java中文版第二版>的读书笔记,这里会记录一些个人感觉稍微有些重要的内容,方便以后查阅,可能会因为个人实力原因导致理解有误,若有发现欢迎指出.一些个 ...
- 《深入分析Java Web技术内幕》读书笔记之JVM内存管理
今天看JVM的过程中收获颇丰,但一想到这些学习心得将来可能被遗忘,便一阵恐慌,自觉得以后要开始坚持做读书笔记了. 操作系统层面的内存管理 物理内存是一切内存管理的基础,Java中使用的内存和应用程序的 ...
- 《Java7并发编程实战手册》读书笔记
一.线程管理 1.线程的创建和运行 创建线程的2种方式: 继承Thread类,并覆盖run()方法 创建一个实现Runnable接口的类.使用带参数的Thread构造器来创建Thread对象 每个Ja ...
随机推荐
- How to find and fix Bash Shell-shock vulnerability CVE-2014-6271 in unix like system
type command - env x='() { :;}; echo vulnerable' bash -c 'echo hello' in your terminal. if your sy ...
- Posix线程编程指南(2) 线程私有数据
概念及作用 在单线程程序中,我们经常要用到"全局变量"以实现多个函数间共享数据.在多线程环境下,由于数据空间是共享的,因此全局变量也为所有线程所共有.但有时应用程序设计中有必要提供 ...
- 【BZOJ】【1912】【APIO2010】patrol巡逻
树形DP 说是树形DP,其实就是求树的最长链嘛…… K=1的时候明显是将树的最长链的两端连起来最优. 但是K=2的时候怎么搞? 考虑第一次找完树的最长链以后的影响:第一次找过的边如果第二次再走,对答案 ...
- Python爬取百度贴吧图片
一.获取URL Urllib 模块提供了读取web页面数据的接口,我们可以像读取本地文件一样读取www和ftp上的数据.首先,我们定义了一个getHtml()函数: urllib.urlopen()方 ...
- winform 如何控制输入法
在工作中遇到这样一个问题,在系统使用过程中,输入法会变灰导致无法使用输入法输入文字,就好像输入法被禁用了没有启用似的.对此,在这里做个备录 这里文章写出来并不是为了炫耀什么,只是觉得发现些好东西就分享 ...
- Build Simple HTTP server
1. The server just support POST&PUT method 2. It is a Python server, and save upload files in sp ...
- win8 获取管理员权限
Win8 下动不动 就弹出要管理员权限什么....... 网上找到很多方法. 什么注册表什么..... 不行.. 以下这个方法可行. 按WIN+R,运行对话框中输入gpedit.msc,开启 ...
- Css选择器的优先级
a = 行内样式style. b = ID选择器的数量. c = 类.伪类和属性选择器的数量. d = 类型选择器和伪元素选择器的数量. 选择器 等级(a,b,c,d) style=”” 1,0,0, ...
- win8系统输入法设置
Windows 8系统自带微软拼音简捷输入法,无论是在Windows的开始屏幕新界面中还是Windows传统桌面里,按Shift键或者直接点击屏幕上的"中/英"标识即可切换中英文输 ...
- javascript利用拷贝的方法实现导出excel(可以导出表格线)
Js代码: <script language=javascript> function preview() { window.clipboardData.setData("Tex ...