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的更多相关文章

  1. 《实战Java高并发程序设计》读书笔记四

    第四章 锁的优化及注意事项 1.锁性能的几点建议 减小锁持有时间: 系统持有锁时间越长锁竞争程度就越激烈,只对需要同步的方法加锁,可以减小锁持有时间进而提高锁性能. 减少锁的持有时间有助于降低锁冲突的 ...

  2. 《Java并发编程的艺术》读书笔记:二、Java并发机制的底层实现原理

    二.Java并发机制底层实现原理 这里是我的<Java并发编程的艺术>读书笔记的第二篇,对前文有兴趣的朋友可以去这里看第一篇:一.并发编程的目的与挑战 有兴趣讨论的朋友可以给我留言! 1. ...

  3. 《深入了解java虚拟机》高效并发读书笔记——Java内存模型,线程,线程安全 与锁优化

    <深入了解java虚拟机>高效并发读书笔记--Java内存模型,线程,线程安全 与锁优化 本文主要参考<深入了解java虚拟机>高效并发章节 关于锁升级,偏向锁,轻量级锁参考& ...

  4. 【转】Verilog HDL常用建模方式——《Verilog与数字ASIC设计基础》读书笔记(四)

    Verilog HDL常用建模方式——<Verilog与数字ASIC设计基础>读书笔记(四) Verilog HDL的基本功能之一是描述可综合的硬件逻辑电路.所谓综合(Synthesis) ...

  5. 【转载】MDX Step by Step 读书笔记(四) - Working with Sets (使用集合)

    1. Set  - 元组的集合,在 Set 中的元组用逗号分开,Set 以花括号括起来,例如: { ([Product].[Category].[Accessories]), ([Product].[ ...

  6. <<Java RESTful Web Service实战>> 读书笔记

    <<Java RESTful Web Service实战>> 读书笔记 第一章   JAX-RS2.0入门 REST (Representational State ransf ...

  7. 《Java并发编程的艺术》读书笔记:一、并发编程的目的与挑战

    发现自己有很多读书笔记了,但是一直都是自己闷头背,没有输出,突然想起还有博客圆这么个好平台给我留着位置,可不能荒废了. 此文读的书是<Jvava并发编程的艺术>,方腾飞等著,非常经典的一本 ...

  8. 《Effective Java中文版第二版》读书笔记

    说明 这里是阅读<Effective Java中文版第二版>的读书笔记,这里会记录一些个人感觉稍微有些重要的内容,方便以后查阅,可能会因为个人实力原因导致理解有误,若有发现欢迎指出.一些个 ...

  9. 《深入分析Java Web技术内幕》读书笔记之JVM内存管理

    今天看JVM的过程中收获颇丰,但一想到这些学习心得将来可能被遗忘,便一阵恐慌,自觉得以后要开始坚持做读书笔记了. 操作系统层面的内存管理 物理内存是一切内存管理的基础,Java中使用的内存和应用程序的 ...

  10. 《Java7并发编程实战手册》读书笔记

    一.线程管理 1.线程的创建和运行 创建线程的2种方式: 继承Thread类,并覆盖run()方法 创建一个实现Runnable接口的类.使用带参数的Thread构造器来创建Thread对象 每个Ja ...

随机推荐

  1. Netsharp快速入门(之8) 基础档案(工作区2 设置商品主列表、规格细列表、商品表单、查询)

    作者:秋时 杨昶   时间:2014-02-15  转载须说明出处 3.5.1.1 列表设置 1.选择第一行主列表,点工具-列表方案 2.打开列表方案界面后,在列表项目填入需要用到实体Demo.Arc ...

  2. github/gitlab 管理多个ssh key

    github/gitlab 管理多个ssh key 以前只使用一个 ssh key 在github上提交代码,由于工作原因,需要再添加一个ssh key在公司的 gitlab上提交代码,下面记录下配置 ...

  3. iOS网络传输Delegate不被触发的本质原因

    NSURLSession一共有四种Delegate (文后附表有Session和SessionTask分类表格) NSURLSessionDelegate, NSURLSessionDownloadD ...

  4. PHP字符串处理常用方法

    strlen("字符串");//取字符串的长度 strcmp($a,$b);  //判断两个字符串是否相同,相同返回0,$a>$b返回1,$a<$b返回-1,区分大小写 ...

  5. Mybatis代码调试问题总结(一)

    问题: org.apache.ibatis.binding.BindingException: Invalid bound statement (not found):   原因排查: 1.检查map ...

  6. 【CentOS】samba服务器安装与配置

    参考资料: http://www.cnblogs.com/mchina/archive/2012/12/18/2816717.html 1.简介 2.安装 3.配置 1.简介 Samba是一个能让Li ...

  7. 【BZOJ】【3210】花神的浇花集会

    曼哈顿距离与切比雪夫距离 QAQ蒟蒻并不知道切比雪夫距离是什么……并不会做这道题…… 去膜拜了PoPoQQQ大爷的题解: 题目大意:给定平面上的n个点,求一个点到这n个点的切比雪夫距离之和最小 与31 ...

  8. 2011 Asia Fuzhou Regional Contest

    Xiangqi http://acm.hdu.edu.cn/showproblem.php?pid=4121 模拟,用高内聚低耦合的思想来写模拟题还是很好的,提高了函数的可重用性,程序的可读性,正确性 ...

  9. HDOJ 2152 Fruit(母函数)

    Fruit Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submi ...

  10. 动态修改 NodeJS 程序中的变量值

    如果一个 NodeJS 进程正在运行,有办法修改程序中的变量值么?答案是:通过 V8 的 Debugger 接口可以!本文将详细介绍实现步骤. 启动一个 HTTP Server 用简单的 Hello ...