整理Java基础知识--String类

Java String 类
创建字符串
最简单的写法:String i = "我是字符串";
String 类是不可改变的,一旦创建了String对象,就固定了

String i = "123";
System.out.println("i = " + i);
i = "abc";
System.out.println("i = " + i);
输出结果:
123
abc

等价于

String i = new String("123");
System.out.println("i = " + i);
String i = new String("abc");
System.out.println("i = " + i);
i & 123 & abc 需要分配3个单位的内存单元 程序自上而下执行,只是先后把123 & abc 赋值给i 并输出


从输出结果上来看i 是改变了 实际上123 abc 还在内存中并未改变。而i只是引用对象 本身也未改变
连接字符串
1.concat方法联接:string1.concat(string2)
2.使用 + 联接

class TestA{
    public static void main(String[] args){

        String string1 = "123";
        String string2 = "abc";
        String string3 = "llll";
        String string4;
        String string5;
        string4 = string1.concat(string2).concat(string3);
        string5 = "123" + "abc" + "llll";
        System.out.println("string4 = " + string4);
        System.out.println("string5 = " + string5);
    }
}
输出结果:
string4 = 123abcllll
string5 = 123abcllll

String类常用方法
1.字符串的长度
public int length()

String str = new String("adzzbzz");
int len = str.length();//len = 7

2.字符串索引处的字符
public char charAt(int index)

String str = new String("adzzbzz");
char ch = str.charAt(5);//ch = b

3.字符串比较
int compareTo(Object o)

int compareTo(String anotherString)

String str1 = new String("abc");
String str2 = new String("ABC");
int a = str1.compareTo(str2);//a>0
int b = str1.compareTo(str2)//b=0

4.字符串连接
public String concat(String s)

String str = "111".concat("222").concat("333");
String str = "111"+"222"+"333";

5.提取子字符串
public String substring(int beginIndex)
public String substring(int beginIndex, int endIndex)

String str1 = new String("adzzbzz");
String str2 = str1.substring(2);//str2 = "zzbzz"
String str3 = str1.substring(2,5);//str3 = "zzb"

6.字符串中单个字符查找
public int indexOf(int ch/String str)
public int indexOf(int ch/String str, int fromIndex)
public int lastIndexOf(int ch/String str)
public int lastIndexOf(int ch/String str, int fromIndex)

String str = "I am a good student";
int i1 = str.indexOf(‘a‘);//i1= 2
int i2 = str.indexOf("good");//i2 = 7
int i3 = str.indexOf("w",2);//i3= -1
int i4 = str.lastIndexOf("a");//i4= 5
int i5 = str.lastIndexOf("a",3);//i5= 2

7.字符串中字符的大小写转换
public String toLowerCase()
public String toUpperCase()

String str = new String("abCD");
String str1 = str.toLowerCase();//str1 = "abcd"
String str2 = str.toUpperCase();//str2 = "ABCD"

8.字符串中字符的替换
public String replace(char oldChar, char newChar)
public String replaceFirst(String regex, String replacement)
public String replaceAll(String regex, String replacement)

String str = "adzzzad";
String str1 = str.replace(‘a‘,‘b‘);//str1 = "bdzzzbd"
String str2 = str.replace("ad","bp");//str2 ="bpzzzbp"
String str3 = str.replaceFirst("ad","bp");//str3 = bpzzzad"
String str4 = str.replaceAll("ad","bp");//str4 = "bpzzzbp"

原文地址:http://blog.51cto.com/12431776/2059641

时间: 2024-08-23 09:46:25

整理Java基础知识--String类的相关文章

整理Java基础知识--Calendar 类

Java Calendar类Calendar 类是 abstract 类 实际使用时实现特定的子类对象 创建一个代表当前日期的Calendar 对象Calendar ss = Calendar.getInstance();Calendar 类对象字段类型 常量 描述 Calendar.YEAR 年 Calendar.MONTH 月 Calendar.DATE 日 Calendar.DAY_OF_MONTH 日期 Calendar.HOUR 12小时制 Calendar.HOUR_OF_DAY 2

【Java菜鸟学习总结】Java基础知识(类)

目录 [Java菜鸟学习总结]Java基础知识(类) 1.面向对象编程 2.类 3.static关键字 4.final关键字 [Java菜鸟学习总结]Java基础知识(类) 1.面向对象编程 1.1.面向对象编程的特征 面向对象编程(OOP)的三大特征 { 封装; 继承; 多态; } 1.2.类与对象概述 类与对象是面向对象的核心概念. 类与对象 { 类; // 类是对于一类事物的描述,是抽象的.概念的定义. 对象; // 对象是实际存在的该类事物的每个个体,因而也别称为实例. } 2.类 2.

关于Java基础知识 String StringBuffer StringBuilder三者的区别

Java基础中String StringBuffer StringBuilder 以下介绍 相同点:String,StringBuffer,StringBuilder最终底层存储与操作的都是char数组,StringBuffer和StringBuilder都继承了AbstractStringBuilder 不同点:String:char数组是final的,不可变,修改String时实际上是new一个新String对象返回,线程安全,频繁的增删操作时不建议使用 StringBuffer:线程安全(

Java基础之String类的细节问题

本文转载自http://sarin.iteye.com/blog/603684/ 先来看一个例子,代码如下: Java代码   public class Test { public static void main(String[] args) { String str = "abc"; String str1 = "abc"; String str2 = new String("abc"); System.out.println(str == 

java基础知识---String

一.字符串的不可变性 先看一段代码 1 package reverse; 2 3 public class Reverse { 4 public static void main(String[] args) 5 { 6 String c1=new String("abc"); 7 String c2=new String("abc"); 8 String c3=c1; 9 System.out.println("c1==c2:"+ (c1==c

Java基础笔记-String类

String 类(被final修饰) 字符串是一种特殊的对象,一旦字符串被初始化就不可以被改变了.(内容不变) 例如: String  s = “abc”; String  s1 = new String(“abc”); s在内存中有一个对象, s代表的是一个类类型变量,”abc”是一个对象. s1在内存中有两个对象,分别是new出来的和:  “abc” . s == s1;的结果是false.   因为s和s1它们所对应的地址不同,比较的两个地址,s和s1中存储的地址数值是不同的.因此是fal

Java基础之String类、StringBuffer类、StringBuilder类

String类对象有两种实例化方法 直接赋值:只开辟一块对内存空间,可以自动入池. 构造方法:开辟两块[堆]内存空间,不会自动入池,使用intern()方法手动入池. 任何一个字符串都是String类的匿名对象. 字符串一旦声明则不可以改变,可以改变的只是String类对象的引用. String类可以使用 + 进行字符串的连接操作 StringBuffer类的内容可以进行修改,而String类的内容是不可以修改的. 在String类里面,提供了一个与StringBuffer类比较的方法: pub

整理Java基础知识--Number&Math类

Java Number内置数据类型:byte int long short double 等 int i = 10: float i = 10.5f; 实际开发中,经常遇到使用对象,而不是内置数据类型,包装类(Integer Long Double Float Short)都是抽象类 Number的子类内置数据类型被当作对象使用时,编译器会把内置类型装箱为包装类 class Test{ public static void main(String[] args){ Integer i = 10;

整理Java基础知识--StringBuffer&StringBuilder类

StringBuffer 类 & StringBuilder 类String 长度大小不可变StringBuffer 和 StringBuilder 长度可变StringBuffer 线程安全 StringBuilder 线程不安全StringBuilder 速度快StringBuffer 类 & StringBuilder 类的对象能够被多次修改,并且不产生新的未使用对象(String会产生新的,并且比较耗费内存)StringBuffer 方法1.指定字符串追加字符到这个字符序列xxxx