String类中的一些方法

这里写目录标题

一级目录

java用String类的toUpperCase()和toLowerCase()方法转字符串的大小写
2.toUpperCase的意思是将所有的英文字符转换为大写字母,如:


String  cc = "aBc123".toUpperCase();
//结果就是:ABC123。

3.toLowerCase的意思是将所有的英文字符转换为小写字母,如:


String  cc = "aBc123".toLowerCase();
//结果就是:abc123。
备注:这两个方法只对英文字母有效,对除了A~Z和a~z的其余字符无任何效果。

4.contains方法

package servlet;

public class practice {
    public static void main(String[] args) {
        String string = "sfjsiajfiaofj dfsafsa dfs dnf";
        if(string.contains("dnf")){//这个方法可以判断字符转中是不是有这个字段
            System.out.println("这里有需要的东西");
        }
        
    }
}

一个错误的使用。

class Solution {
        static  Map<Character,String> map = new HashMap<>(){{
                put('2',"abc");
                put('3',"def");
                put('4',"ghi");
                put('5',"jkl");
                put('6',"mno");
                put('7',"pqrs");
                put('8',"tuv");
                put('9',"wxyz");

            }};
    public List<String> letterCombinations(String digits) {
             //一个list返回结果
            List<String> result = new ArrayList<>();
        if(digits.length() == 0){
            return result;
        }
            //先做映射
            //将数字字符映射成为字符串
       

            //用一个path接受路径,Path里面放字符串
            StringBuffer path = new StringBuffer();

       

            //一个i表示被分割的数字i
            backTrack(path,0,result,digits);
            //这个也要带着

            return result;
        

    }


    public void backTrack(StringBuffer path,int index,List<String> result,String digits){
        if(path.length() == digits.length()){
            //路径满足了就返回了
            result.add(path.toString());
            return;
        }

//字母表这里出现了选择的问题
        String letter = map.get(digits.charAt(index));//拿到字母表

        for(int i = 0;i < letter.length();i++){
            path.append(letter.charAt(i));//将字母表中数据放进路径
            backTrack(path,index + 1,result,digits);
           String newString = path.substring(0,path.length() - 1);

           //这个方法行不通,相当于改变了整个path地址
            path = new StringBuffer(newString);
        }



    }
}

String 和StringBuffer还有StringBuilder中一些介绍
在这里插入图片描述
如果不是对字符串经常改动,使用String就可以了。
如果经常对字符串的改动,就要用Buffer或者builder
buffer所有方法都用sy关键字修饰,所以是线程安全的,相当于加了个buffer,如果是·共享数据在多线程环境下运行必须要用buffer
builder的话,就简单很多了,为了建造就可以了效率比较高。

经常改动字符串的情况下,你肯定不可以使用String,String底层是final修饰的,是不可变的,所以很容易的一个问题,就是每次改动创造一个新的变量,然后浪费了空间,这是一个非常严重的问题。

String.valueOf

可以将一切转化为String

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值