大数据字符串怎么转换

发布时间:2021-12-22 15:51:36 作者:iii
来源:亿速云 阅读:142

这篇文章主要讲解了“大数据字符串怎么转换”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“大数据字符串怎么转换”吧!

不可变字符串:----String.字符串本身不能发生改变,与指向字符串的引用无关。

        String s1 = "1000phone";

可变字符串:----StringBuilder/StringBuffer.字符串本身可以发生变化,与指向可变字符串的引用无关

        StringBuffer sBuffer = new StringBuffer("1000phone");

不可变字符串本身是一个常量,保存在常量区,是存储在了堆区中一块儿特殊的区域里。

字符串常量的特点:同一个字符串常量在常量区只允许存储一个。

    String s = "1000phone";//不可变字符串

     当执行s的时候,会到常量区找叫1000phone的字符串,如果有直接让s保存他的地址,如果没有,会在常量区开辟一块儿空间存1000phone.

    String s3 = new String("1000phone");

     执行s3时,由于进行了new,一定会现在堆中开辟一块儿空间,而1000phone是作为参数传给了对象.保存在了对象的一个String

使用equals进行String的比较

2.转换:

将字符数组转换成字符串

     char[] arr = {'p','h','o','n','e'};

     String string1 = new String(arr);  //string1 = phone

将字符串转换成字符数组

    char[] arr1 = string.toCharArray();

    System.out.println(arr1);

将字节数组转成字符串

        //String(byte[] bytes) 

        //String(byte[] bytes, int offset, int length)

        //String(byte[] bytes, String charsetName)//使用指定的编码将字节数组转换成字符成

        byte[] bytes = {97,98,99,100};

        String string3 = new String(bytes);

        System.out.println(string3); //abcd

将字符串转成字节数组

        //byte[] getBytes() 

        byte[] bytes1 = string3.getBytes();

将基本数据类型转换成字符串

        //String.valueOf()

        String string4 = String.valueOf(true);

        System.out.println(string4);//true

子串:

    //包含起始位置,不包含结束位置,到结束位置的前一位

    String substring(int beginIndex, int endIndex);

大小写转换

        String toLowerCase();  // 转成小写

        String toUpperCase();  // 转成大写

按字典顺序比较两个字符串

    字典顺序:按照ASCII表比较当前的两个字符,ASCII码大的认为是大的字符

    规则:从左边第一个字符开始比较

    如果当前的字符不相同,直接认为ASCII大的字符串是大字符串,后面的字符停止比较

    当前字符比较的具体规则:使用前面的字符-后面的字符,返回差值.如果是负数,说明前面的字符串小于后面的.反之前面的大.

    如果当前的字符相同,再去比较第二个字符,依次往后推,如果比到最后都相同,则认为两个字符串相等,差值返回0.

        "1000PHone".compareTo("1000PHone");//0

        "1000AHone".compareTo("1000BHone");//-1

        "100000".compareTo("100");//-3

可变字符串:

 字符串缓冲区.StringBuffer/StringBuilder

 区别:

 StringBuffer:出现在jdk1.0,是线程安全的,考虑了线程安全问题

 StringBuilder:出现在jdk1.5,是线程不安全的,没有考虑线程安全问题

注意:在不考虑线程安全问题时,尽量使用StringBuilder,因为速度快,效率高

使用:

    StringBuffer sBuffer = new StringBuffer();

    //1.存储:

    //StringBuffer append(boolean b)   从最后插入

    sBuffer.append("abcd"); //abcd

    //StringBuffer insert(int offset, boolean b)   从指定位置插入

    sBuffer.insert(4, 123);

    System.out.println(sBuffer);//abcd123

    //2.删除:

    //StringBuffer delete(int start, int end)   删除一部分字符串

    //StringBuffer deleteCharAt(int index)  删除一个字符

    System.out.println(sBuffer.deleteCharAt(4));//abcd23

    System.out.println(sBuffer.delete(2,4)); //ab23

    //3.修改:

    //StringBuffer replace(int start, int end, String str)  替换指定的子字符串

    //void setCharAt(int index, char ch) 修改一个字符

    sBuffer.replace(1, 3, "ab") ; //aab3

    //4.获取:

    //char charAt(int index) 

    System.out.println(sBuffer.charAt(0)); //a

    //返回指定子字符串的下标  从左到右

    //int indexOf(String str)

    System.out.println(sBuffer.indexOf("ab"));//1

    //返回指定子字符串在此字符串中第一次出现处的索引,从指定的索引开始。

    System.out.println(sBuffer.indexOf("ab",0)); //1

    System.out.println(sBuffer.indexOf("ab",2)); //-1

    //int lastIndexOf(String str) 

    //返回指定子字符串(从右边开始计数)在此字符串第一次出现时的索引

    System.out.println(sBuffer.indexOf("ba")); //-1

    System.out.println(sBuffer.indexOf("ab")); //1

    //int lastIndexOf(String str, int fromIndex) 

    /返回指定字符在此字符串中最后一次出现处的索引,从指定的索引处开始进行反向搜索。

    System.out.println(sBuffer.indexOf("ab",1)); //1

    //5.反转:

    //StringBuffer reverse()

System.out.println(sBuffer.reverse()); //3baa

感谢各位的阅读,以上就是“大数据字符串怎么转换”的内容了,经过本文的学习后,相信大家对大数据字符串怎么转换这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!

推荐阅读:
  1. 字符串转换
  2. mysql 日期转换字符串

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

大数据

上一篇:实际场景下如何在POC中检测的攻击流量

下一篇:mysql中出现1053错误怎么办

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》