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. 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 ...

  2. Posix线程编程指南(2) 线程私有数据

    概念及作用 在单线程程序中,我们经常要用到"全局变量"以实现多个函数间共享数据.在多线程环境下,由于数据空间是共享的,因此全局变量也为所有线程所共有.但有时应用程序设计中有必要提供 ...

  3. 【BZOJ】【1912】【APIO2010】patrol巡逻

    树形DP 说是树形DP,其实就是求树的最长链嘛…… K=1的时候明显是将树的最长链的两端连起来最优. 但是K=2的时候怎么搞? 考虑第一次找完树的最长链以后的影响:第一次找过的边如果第二次再走,对答案 ...

  4. Python爬取百度贴吧图片

    一.获取URL Urllib 模块提供了读取web页面数据的接口,我们可以像读取本地文件一样读取www和ftp上的数据.首先,我们定义了一个getHtml()函数: urllib.urlopen()方 ...

  5. winform 如何控制输入法

    在工作中遇到这样一个问题,在系统使用过程中,输入法会变灰导致无法使用输入法输入文字,就好像输入法被禁用了没有启用似的.对此,在这里做个备录 这里文章写出来并不是为了炫耀什么,只是觉得发现些好东西就分享 ...

  6. Build Simple HTTP server

    1. The server just support POST&PUT method 2. It is a Python server, and save upload files in sp ...

  7. win8 获取管理员权限

    Win8 下动不动 就弹出要管理员权限什么.......   网上找到很多方法.  什么注册表什么..... 不行..   以下这个方法可行. 按WIN+R,运行对话框中输入gpedit.msc,开启 ...

  8. Css选择器的优先级

    a = 行内样式style. b = ID选择器的数量. c = 类.伪类和属性选择器的数量. d = 类型选择器和伪元素选择器的数量. 选择器 等级(a,b,c,d) style=”” 1,0,0, ...

  9. win8系统输入法设置

    Windows 8系统自带微软拼音简捷输入法,无论是在Windows的开始屏幕新界面中还是Windows传统桌面里,按Shift键或者直接点击屏幕上的"中/英"标识即可切换中英文输 ...

  10. javascript利用拷贝的方法实现导出excel(可以导出表格线)

    Js代码: <script language=javascript> function preview() { window.clipboardData.setData("Tex ...