Java教程

JAVA string详解

本文主要是介绍JAVA string详解,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
package string;


import org.junit.Test;

import java.sql.SQLOutput;

public class Stringtext {
    @Test
    public void _string(){
        //substring()方法:对字符串进行切片
        String greeting="hello";
        String s=greeting.substring(0,3);
        System.out.println(s);
        /**
         * 输出:hel
         */

        //拼接
        String expletive="Expletive";
        String PG13="delect";
        String massage=expletive+PG13;
        System.out.println(massage);
        System.out.println("the answer is " + massage);
        String all=String.join("/","S","M","L","Xl");
        System.out.println(all);
        /**
         * 输出:
         * Expletivedelect
         * the answer is Expletivedelect
         * S/M/L/Xl
         */

        /**
         * 不可变字符串
         * String类中没有提供修改字符串中某个字符串的方法,Java中一般通过拼接的方式来修改字符串
         * 在java文档中将String类对象称为是不可变的(immutable),如同数字3永远是数字3一样,字符串“hello”永远包含字符h、e、l、l、o的代码单元序列,
         * 你不能修改这些值,只能修改字符串变量的引用
         */

        //检查字符串是否相等
        /**
         * 在检验字符串是否相等时,一般使用equals()方法检测,一定不能使用==运算符检测是否相等
         * ==运算符只能确定两个字符串是否是同一个引用。当然,如果字符串在同一个位置,它们必然相等,但是完全有可能在不同的位置
         * 如果虚拟机始终将相同的字符串共享,就可以使用==来检测,但实际上只有字符串字面量是共享的,而+或者substring等操作得到的字符串并不共享
         */
        System.out.println("hello".equals(greeting)+" "+"Hello".equalsIgnoreCase("hello"));
        System.out.println(greeting.compareTo("hello")+" "+greeting.compareToIgnoreCase("Hello"));
        System.out.println("hello".substring(0,3));
        System.out.println("hello".substring(0,3)=="hel"?true:false);
        /**
         * 输出
         * true true
         * 0 0
         * hel
         * false
         */

        //空串与null
        /**
         * 空串""是指长度为0的字符串,可以使用str.length()==0或者str.equals("")来检查str是否为空串
         * null是一个特殊的值,表示目前没有任何对象与该对象关联,检查一个对象是否为null一般使用str==null
         * 检查一个字符串既不是空串也不是null,一般使用str!=null&&str.length()!=0
         */

        //String API
        /**
         * String类中包含50多个方法,下面列举一些常用的方法
         * char charAt(int index) 返回给定位置的代码单元
         * int codePointAt(int index) 返回冲从给定位置开始的码点
         * int offsetByCodePoints(int startIndex,int cpCount) 返回从startIndex码点开始,cpCount个码点后的码点索引
         * int compareTo(String other) 按照字典顺序,如果字符串位于other之前返回一个负数,之后返回一个正数,相等返回0
         * IntSrream codePoints() 将这个字符串的码点作为一个流返回。调用toArray将它们放在一个数组里
         * boolean empty()
         * boolean blank() 如果字符串为空或者由空格组成,返回true
         * boolean startsWith(String prefix)
         * boolean endsWith(String suffix) 如果字符串以prefix开头或者以suffix结尾,返回true
         * int indexOf(String str)
         * int indexOf(String str,int fromIndex)
         * int indexOf(int cp)
         * int indexOf(int cp,int fromIndex)
         * 返回与字符串str或者码点cp匹配的第一个子串的开始位置的索引。从0或者fromIndex开始匹配。如果不存在则返回-1
         * int lastIndexOf(String str)
         * int lastIndexOf(String str,int fromIndex)
         * int lastIndexOf(int cp)
         * int lastIndexOf(int cp,int fromIndex)
         * 返回与字符串str或者码点cp匹配的最后一个子串的开始位置的索引。从0或者fromIndex开始匹配。如果不存在则返回-1
         * int length() 返回字符串代码单元的个数
         * String replace(CharSequence oldString,CharSequence newString)
         * 返回用newString代替原字符串中所有的oldString,可以用String或StringBuilder对象作为CharSequence参数
         * String substring(int beginIndex)
         * String substring(int beginIndex,int endIndex)
         * 返回一个新字符串。这个字符串包含原字符串中从beginIndex到字符串末尾或者endIndex的所有代码单元
         * String toLowerCase()
         * String toUpperCase() 返回一个新字符串。这个字符串将原字符串改为全部大写或者全部小写
         * String trim()
         * string strip()
         * 返回一个新字符串。这个字符串将删除原始字符串头部和尾部小于或等于U+0020的字符(trim)或空格(strip)
         * String join(CharSequence delimiter,CharSequence... elements) 返回一个新字符串,用给定的界定符连接所有元素
         * String repeat(int count) 返回一个新字符串。这个字符串将原字符串重复count次
         */

        //构造字符串
        /**
         *有时候,需要由较短的字符串构建字符串,例如,按键或者来自文件中的单词。采用字符串拼接即耗时又耗空间,
         * 使用StringBuilder类就可以避免这个问题的发生
         */
        char ch=' ';
        StringBuilder builder=new StringBuilder();
        builder.append("hello");
        builder.append(ch);
        builder.append("word");
        String completedString1=builder.toString();
        System.out.println(completedString1);
        builder.setCharAt(0,'H');
        System.out.println(builder.toString());
        builder.insert(1,'!');
        System.out.println(builder.toString());
        builder.delete(1,2);
        System.out.println(builder.toString());
        /**
         * 输出
         * hello word
         * Hello word
         * H!ello word
         * Hello word
         */
    }
}

这篇关于JAVA string详解的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!