常用类第28天(Integer缓冲区,String类及常用方法)

Integer整数缓冲区

java预先创建了256个常用的整数包装类型对象
在实际应用中,对已创建的对象进行进行复用
个人理解:Integer创建赋值时,会先判断这个值是否在-128到127之间,在的话将会直接赋值,超出这个范围就会new一个
image
例子:

//面试题
        Integer integer1=new Integer(100);
        Integer integer2=new Integer(100);
		//因为new了一个Integer,所以这两个引用不是同一个
        System.out.println(integer1==integer2);


        Integer integer3=100;
        Integer integer4=100;
		//100在整数缓冲区的范围之内,并没有new新对象
        System.out.println(integer3==integer4);

        Integer integer5=200;
        Integer integer6=200;
		//200不在整数缓冲区内,new了两个新对象,所以指向不同的引用地址
        System.out.println(integer5==integer6);

image

String类

  1. 字符串是常量,创建之后不可改变
    代码演示:
 String name ="hello";//"hello"存储在字符串池中,
        name="zhangsan";

图例:
image
说明:给name重新赋值时,并不是修改了它原来的数据,而是重新开辟了一个空间(原有的数据"hello"将变成垃圾,当垃圾回收器执行时将被回收)
2. 字符串字面值存储在字符串池中,可以共享
3. String s="hello";//产生一个对象,字符串池中存储
String s=new String("hello");//产生两个对象,堆、常量池中各存储一个

String类常用方法

  1. public int lengh():返回字符串长度(空格也算一个字符)
	String str="Hello World";
	//length()返回字符串长度
        System.out.println(str.length());

image

  1. public char charAt(int index):根据下标获取字符(超过下标范围会报错,下标溢出)
	String str="Hello World";
        //charAt()返回某个下标位置的字符
        System.out.println(str.charAt(4));

image

  1. public boolean contains(String str):判断当前字符串是否包含str
        String str="Hello World";
        //contains()判断是否包含某个字符串
        System.out.println(str.contains("llo"));

image

  1. public char[] toCharArray():将字符串转换为数组
	String s="我说java天下无敌java牛逼";
        //toCharArray()将字符串转换成数组
        System.out.println(Arrays.toString(s.toCharArray()));

image

  1. public int indexOf(String str):查找str首次出现的下标,存在则返回该下标,不存在则返回-1,str后面可以加一个int类型的数,代表从哪个下标开始找
	indexOf()查找字符串第一次出现的位置,有则返回地址,没有则返回-1
	String s="我说java天下无敌java牛逼";
       System.out.println(s.indexOf("ja"));

image
6. public int lastIndexOf(String str):查找str最后一次出现的下标,存在则返回该下标,不存在则返回-1

	//lastIndexOf()查找字符串最后一次出现的位置,有则返回地址,没有则返回-1
	String s="我说java天下无敌java牛逼";
	System.out.println(s.lastIndexOf("ja"));

image
7. public String trim():去掉字符串前后的空格

	String s1="   我说java天下无敌java牛逼   ";
        //trim()去除字符串前后的空格
        System.out.println("去除空格前:"+s1);
        System.out.println("去除空格后:"+s1.trim());

image

  1. public String toUpperCase():将小写转换成大写
	String s1="我说java天下无敌java牛逼";
        String s2="我说JAVA天下无敌JAVA牛逼";
        //toUpperCase()将小写转换成大写----toLowerCase()
        System.out.println(s1.toUpperCase());
        System.out.println(s2.toLowerCase());

image
9. public boolean endsWith(String str):判断字符串是否以str结尾

//endsWith()判断字符串是否出现在结尾,startsWith()
        String s1="我说java天下无敌java牛逼";
        String s2="我说JAVA天下无敌JAVA牛逼";
        System.out.println(s1.endsWith("牛逼"));
        System.out.println(s1.startsWith("我说1"));

image
10. public String replace(char oldChar,char newChar);将旧字符串替换成新字符串

	//replace()新字符串替换旧字符串
        String s1="    我说java天下无敌java牛逼    ";
        String s2="我说JAVA天下无敌JAVA牛逼";
        System.out.println(s1.replace("java","php"));

image

  1. public String[] spilt(String str):根据str做拆分
//spilt()根据str做拆分
        String s3="java is the best programing language,java xiang";
        String[] array=s3.split(" ");
        for (String string:array
             ) {
            System.out.println(string);
        }

image
多个条件使用

//多个条件使用[]
            String[] array1 = s3.split("[ ,]");
            for (String string1 : array1
            ) {
                System.out.println(string1);
            }

image
12. equalsIgnoreCase()忽略大小写比较

/equalsIgnoreCase()忽略大小写比较
        String s1="hello";
        String s2="HELLO";
        System.out.println(s1.equalsIgnoreCase(s2));

image

posted @   不再犹豫27  阅读(30)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
点击右上角即可分享
微信分享提示