String类

一、java中String实例化的两种方法

1、

public class Test {

public static void main(String[] args) { //简单,特殊,方便、直接 String name = "追梦小猿"; //面向对象标准语法格式 String name2= new String("追梦小猿2"); System.out.println("name:"+name); System.out.println("name2:"+name2); } }

输出结果:

name:追梦小猿

name2:追梦小猿2

2、两种比较的方法“==”和“equals”

==比较的是内存的地址

equals比较的是具体的内容

public class Test {
	public static void main(String[] args) {
		//简单,特殊,方便的一种
		String name = "追梦小猿";
		//面向对象标准语法格式
		String name2= new String("追梦小猿");
		String name3 = name2;
		//==比较的是引用的内存地址
		System.out.println("name==name2:"+(name==name2));
		System.out.println("name==name3:"+(name==name3));
		System.out.println("name2==name3:"+(name2==name3));
		//equals比较的是具体的内容
		System.out.println("name.equals(name2):"+(name.equals(name2)));
		System.out.println("name.equals(name3):"+(name.equals(name3)));
		System.out.println("name2.equals(name3):"+(name2.equals(name3)));
	}
}
输出结果:

name==name2:false
name==name3:false
name2==name3:true
name.equals(name2):true
name.equals(name3):true
name2.equals(name3):true

       

3、两种初始化实例化的区别

直接=的方法创建的对象存放在字符串对象池,下次存放如果存在不会在创建

new的方法每次都会新建一个对象

public class Test {
	public static void main(String[] args) {
        String name1="张三";
        String name2="张三";
        String name3=new String("张三");
        String name4=new String("张三");
         
        System.out.println("name1==name2:"+(name1==name2));
        System.out.println("name1==name3:"+(name1==name3));
        System.out.println("name3==name4:"+(name3==name4));
    }
     
}
运行结果:

name1==name2:true
name1==name3:false
name3==name4:false

       2.jpg

4、字符串的内容不可变性
字符串的特性:不能改变字符串的内容;
要想改变,只能通过指向一个新的内存地址;

public class Test {
	public static void main(String[] args) {
        String name="张";
        name+="三";
        System.out.println(name);
    }
}

QQ鎴浘20160924095402.png

生成的字符串指向新的地址

二、String类中常用的方法

1、char charAt(int index)返回指定索引处的char值(返回第index个字符的值,从0开始)
public class Test {
	public static void main(String[] args) {
        String name="woshizhuimengxiaoyuan";
        System.out.println(name.charAt(3));
    }
}
输出结果:
h
2、int  length()返回字符串的长度
public class Test {
	public static void main(String[] args) {
        String name="woshizhuimengxiaoyuan";
        System.out.println(name.length());
    }
}
输出结果:
21
3、int  indexOf(int  ch)返回字符在字符串中第一次出现的位置
      int indexOf(int  ch,int  formindex)从第formindex个数开始第一出现ch的位置
public class Test {
	public static void main(String[] args) {
        String name="woshizhuimengxiaoyuan";
        System.out.println(name.indexOf('i'));
        System.out.println(name.indexOf('i', 6));
    }
}
输出结果:
4
8
4、String substring(int  beginindex)第beginindex个字符后面的字符串,不包括第beginindex个字符,它是此字符串的子字符串
public class Test {
	public static void main(String[] args) {
        String name="woshizhuimengxiaoyuan";
        System.out.println(name.substring(5));
    }
}
输出结果:
zhuimengxiaoyuan
5、public  String  toUpperCase()    String中所有的字符都变成大写
     public   String toLowerCase()    String中所有的字符都变成小写
public class Test {
	public static void main(String[] args) {
        String name="woshizhuimengxiaoyuan";
        String newname = name.toUpperCase();
        System.out.println(name);
        System.out.println(newname);
    }
}
输出结果:
woshizhuimengxiaoyuan
WOSHIZHUIMENGXIAOYUAN
 
更多的方法请参考  《 Jdk api chm文档》(1.6是中文的,1.7、1.8还是英文的)
  • 1
    点赞
  • 3
    评论
  • 0
    收藏
  • 打赏
    打赏
  • 扫一扫,分享海报

©️2022 CSDN 皮肤主题:创作都市 设计师:CSDN官方博客 返回首页

打赏作者

追梦小猿

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值