03-Java String字符串详解
1、Java字符串String
A、实例化String字符串:直接赋值(更合理一些,使用较多)、使用关键字new。
B、String内容的比较
// TODO Auto-generated method stub
// int a=10;
// int b=10;
// System.out.println(a==b);
String str="Hello";
String str1=new String("Hello");
System.out.println(str==str1); //“==”比较的是地址
System.out.println(str.equals(str1)); //“equals”比较的是内容,只用这个
2、String 常用方法
(1)字符串长度:length()
String str="jikexueyuan";
System.out.println(str.length());结果为:11
(2)字符串转换数组:toCharArray()
String str="jikexueyuan";
char data[]=str.toCharArray();
for(int i=0;i<data.length;i++){
System.out.print(data[i]+" "); 结果:j i k e x u e y u a n
(3)从字符串中取出指定位置的字符:charAt()
System.out.println(str.charAt(7)); 结果:y
(4)字符串与byte数组的转换:getBytes()
String str="jikexueyuan";
byte bytes[]=str.getBytes();
for(int i=0;i<bytes.length;i++){
System.out.println(new String(bytes)+"\t")
结果:jikexueyuan
jikexueyuan
jikexueyuan
jikexueyuan
jikexueyuan
(5)过滤字符串中存在的字符:indexOf()
String str="jikexueyuan@qq.com";
System.out.println(str.indexOf("@"));
结果:11
(6)去掉字符串的前后空格:trim()
String str=" jike@qq.com";
System.out.println(str);
System.out.println(str.trim());
结果:
jike@qq.com
String str=" jike@qq.com ";
System.out.println(str+"AA");
System.out.println(str.trim()+"AA");
结果:
jike@qq.com AA
jike@qq.comAA
(7)从字符串中取出子字符串:subString()
(8)大小写转换:toLowerCase() toUpperCase() (Java对大小写敏感)
(9)判断字符串的开头结尾字符:endsWith() startWith()
(10)替换String字符串中的一个字符:replace()
3、Java StringBuffer方法
StringBuffer,缓冲区,本身也是操作字符串,但是与String不同,StringBuffer是可以更改的。StringBuffer是一个操作类,所以必须通过实例化进行操作。
StringBuffer常用方法:
(1)append():追加
(2)insert(): 插入字符串
StringBuffer sbf=new StringBuffer();
sbf.append("hello");
sbf.insert(0, "i love");//0是插入的位置,追加在前面了
System.out.println(sbf.toString());
结果:i lovehello
(3)replace():替换字符串
StringBuffer sbf=new StringBuffer();
sbf.append("hello");
sbf.insert(0, "i love");
System.out.println(sbf.toString());
sbf.replace(1, 3, "wwwtliu");//从第2个位置到第4个位置替换为wwwtliu
System.out.println(sbf.toString());
结果:
i lovehello
iwwwtliuovehello
(4)indexOf():与string的类似
StringBuffer类的应用:
StringBuffer str =new StringBuffer();
str.append("jikexueyuan");
for (int i = 0; i < 100; i++) {
str.append(i); }
System.out.println(str.toString());
4、Java StringBuider用法
(1)一个可变的字符序列,该类被设计作用StringBuffer的一个简易替换,用在字符串缓冲区被单个线程使用的时候。建议优先考虑该类,速度比StringBuffer要快。
(2)但是如果设计到线程安全方面,建议使用StringBuffer
(3)常用方法:Append()和insert()
03-Java String字符串详解的更多相关文章
- Java String类详解
Java String类详解 Java字符串类(java.lang.String)是Java中使用最多的类,也是最为特殊的一个类,很多时候,我们对它既熟悉又陌生. 类结构: public final ...
- String 字符串详解 / 常用API
String 详解 / 常用API 简介 String 是不可改变的字符串序列.String 为字符串常量 StringBuilder 与StringBuffer 均为可改变的字符串序列.为字符串变量 ...
- java String.Format详解
JDK1.5中,String类新增了一个很有用的静态方法String.format(): format(Locale l, String format, Object... args) 使用指定的语言 ...
- C# string 字符串详解 恒定 驻留
string是一种很特殊的数据类型,它既是基元类型又是引用类型,在编译以及运行时,.Net都对它做了一些优化工作,正式这些优化工作有时会迷惑编程人员,使string看起来难以琢磨.这篇文章共四节,来讲 ...
- 【转】Java魔法堂:String.format详解
Java魔法堂:String.format详解 目录 一.前言 二.重载方法 三.占位符 四.对字符.字符串进行格式化 五.对整数进行格式化 六. ...
- java 复习整理(四 String类详解)
String 类详解 StringBuilder与StringBuffer的功能基本相同,不同之处在于StringBuilder是非线程安全的,而StringBuffer是线程安全的,因此效率上S ...
- Swift_字符串详解(String)
Swift_字符串详解(String) 类型别名 //类型别名 fileprivate func testTypeAliases() { let index = String.Index.self p ...
- JAVA IO 类库详解
JAVA IO类库详解 一.InputStream类 1.表示字节输入流的所有类的超类,是一个抽象类. 2.类的方法 方法 参数 功能详述 InputStream 构造方法 available 如果用 ...
- Java集合类的详解与应用
Java集合类的详解与应用 集合简介: 1.定义:可以同时存储不同类型的数据 他的存储空间会随着数据的增大而增大 2.缺点:只能存储引用数据类型 3.优点:更加合理的利用空间,封装了更多的方法,用起来 ...
随机推荐
- 为什么socket编程要用到多线程
不得不佩服计算机先驱的设计:socket编程为什么需要多线程.如果只有一个ServerSocket线程,那么如下代码: public void start() throws Exception { S ...
- vim的Tab设置为4个空格
vim /etc/vimrc 1 set ts=42 set expandtab3 set autoindent 按tab键时产生的是4个空格,这种方式具有最好的兼容性.
- Android系统在新进程中启动自定义服务过程(startService)的原理分析
在编写Android应用程序时,我们一般将一些计算型的逻辑放在一个独立的进程来处理,这样主进程仍然可以流畅地响应界面事件,提高用户体验.Android系统为我们提供了一个Service类,我们可以实现 ...
- html input
disabled="disabled" <input name="" type="checkbox" value="&quo ...
- LPEG
local lpeg = require "lpeg" function f0() end; function f1() return "a" en ...
- <td colspan="2" > 一个td占两个 td空间
<tr> <td>机构名称: ${accreditInfo.companyName}</td> <td>初始授信额度: ${accreditInfo.i ...
- 帝国cms相关调用
Loop用法:[!--temp.header--] [e:loop={6,6,0,1}] <!--标题连接/标题--> <a href="<?=$bqsr[title ...
- 合并两个有序数组a和b到c
问题:两个有序数组a和b,合并成一个有序数组c. // 合并两个有序数组a和b到c void Merge_Array(int a[], int n, int b[], int m, int c[]) ...
- 如何写 github wiki
在你库里面的文件夹下 点击wiki进入编辑页面 如何编辑: header以#开始, #代表一级header, ##代表二级header... 段落直接以空行分隔. 每行后面加两个以上的空格 分条列举的 ...
- ResponsiveSlides.js最轻量级的幻灯片插件
摘要:ResponsiveSlides.js是一个展示同一容器内图片的轻量级响应式jQuery幻灯片插件它支持包括IE6在内的几乎所有的浏览器,在IE6中还支持最大宽度属性,但在其它浏览器中并不原生支 ...