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

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字符串详解的更多相关文章

  1. Java String类详解

    Java String类详解 Java字符串类(java.lang.String)是Java中使用最多的类,也是最为特殊的一个类,很多时候,我们对它既熟悉又陌生. 类结构: public final ...

  2. String 字符串详解 / 常用API

    String 详解 / 常用API 简介 String 是不可改变的字符串序列.String 为字符串常量 StringBuilder 与StringBuffer 均为可改变的字符串序列.为字符串变量 ...

  3. java String.Format详解

    JDK1.5中,String类新增了一个很有用的静态方法String.format(): format(Locale l, String format, Object... args) 使用指定的语言 ...

  4. C# string 字符串详解 恒定 驻留

    string是一种很特殊的数据类型,它既是基元类型又是引用类型,在编译以及运行时,.Net都对它做了一些优化工作,正式这些优化工作有时会迷惑编程人员,使string看起来难以琢磨.这篇文章共四节,来讲 ...

  5. 【转】Java魔法堂:String.format详解

    Java魔法堂:String.format详解     目录     一.前言    二.重载方法     三.占位符     四.对字符.字符串进行格式化     五.对整数进行格式化     六. ...

  6. java 复习整理(四 String类详解)

    String 类详解   StringBuilder与StringBuffer的功能基本相同,不同之处在于StringBuilder是非线程安全的,而StringBuffer是线程安全的,因此效率上S ...

  7. Swift_字符串详解(String)

    Swift_字符串详解(String) 类型别名 //类型别名 fileprivate func testTypeAliases() { let index = String.Index.self p ...

  8. JAVA IO 类库详解

    JAVA IO类库详解 一.InputStream类 1.表示字节输入流的所有类的超类,是一个抽象类. 2.类的方法 方法 参数 功能详述 InputStream 构造方法 available 如果用 ...

  9. Java集合类的详解与应用

    Java集合类的详解与应用 集合简介: 1.定义:可以同时存储不同类型的数据 他的存储空间会随着数据的增大而增大 2.缺点:只能存储引用数据类型 3.优点:更加合理的利用空间,封装了更多的方法,用起来 ...

随机推荐

  1. 为什么socket编程要用到多线程

    不得不佩服计算机先驱的设计:socket编程为什么需要多线程.如果只有一个ServerSocket线程,那么如下代码: public void start() throws Exception { S ...

  2. vim的Tab设置为4个空格

    vim /etc/vimrc 1    set ts=42    set expandtab3    set autoindent 按tab键时产生的是4个空格,这种方式具有最好的兼容性.

  3. Android系统在新进程中启动自定义服务过程(startService)的原理分析

    在编写Android应用程序时,我们一般将一些计算型的逻辑放在一个独立的进程来处理,这样主进程仍然可以流畅地响应界面事件,提高用户体验.Android系统为我们提供了一个Service类,我们可以实现 ...

  4. html input

    disabled="disabled" <input name="" type="checkbox" value="&quo ...

  5. LPEG

    local lpeg = require "lpeg"    function f0() end;    function f1() return "a" en ...

  6. <td colspan="2" > 一个td占两个 td空间

    <tr> <td>机构名称: ${accreditInfo.companyName}</td> <td>初始授信额度: ${accreditInfo.i ...

  7. 帝国cms相关调用

    Loop用法:[!--temp.header--] [e:loop={6,6,0,1}] <!--标题连接/标题--> <a href="<?=$bqsr[title ...

  8. 合并两个有序数组a和b到c

    问题:两个有序数组a和b,合并成一个有序数组c. // 合并两个有序数组a和b到c void Merge_Array(int a[], int n, int b[], int m, int c[]) ...

  9. 如何写 github wiki

    在你库里面的文件夹下 点击wiki进入编辑页面 如何编辑: header以#开始, #代表一级header, ##代表二级header... 段落直接以空行分隔. 每行后面加两个以上的空格 分条列举的 ...

  10. ResponsiveSlides.js最轻量级的幻灯片插件

    摘要:ResponsiveSlides.js是一个展示同一容器内图片的轻量级响应式jQuery幻灯片插件它支持包括IE6在内的几乎所有的浏览器,在IE6中还支持最大宽度属性,但在其它浏览器中并不原生支 ...