java.lang.String & java.lang.StringBuilder

String

成员方法 作用
public charAr(int index) 返回给定位置的代码单元
public codePointAt(int index) 返回给定位置的码点
int compareTo(String other) 根据字典序,如果this在other前,返回正数,在后返回负数,相等返回0;和常量比较时,应该把常量写在前面,防止空指针异常
boolean equals(String other) 如果相等,返回true
boolean equalsIgnoreCase(String other) 在忽略大小的情况下相等,返回true,和常量比较时,应该把常量写在前面,防止空指针异常
boolean startsWith(String prefix) 以prefix开头,返回true
boolean endsWithe(String suffix) 以suffix结尾,返回true
int indexOf(String str)
int indexOf(String str, int fromIndex)
int indexOf(int cp)
int indexOf(int cp, int fromIndex) 以上四个是返回子串或者码点匹配的位置
int length() 返回长度
String replace(CharSequence old, CharSequence new) 用new替换old,可以接收String或者StringBuilder作为参数
String substring(int beginIndex) 创建并返回一个新的字符串,从beginIndex直到结尾
String substring(int beginIndex, int endIndex) 创建并返回一个新的字符串,从beginIndex直到endIndex前一个
String toLowerCase() 创建并返回一个新的字符串,全部字母为小写
String toUpperCase() 创建并返回一个新的字符串,全部字母为大写
String trim() 创建并返回一个新的,消去原串的开头结尾的空格
String join(CharSequence delimiter, CharSequence ...elemrnts) 创建返回一个字符串,用给定的定界符连接所有的元素

StringBuilder

有时候我们需要使用短的字符串来创建长的字符创,由于字符串是常量,每次使用连接都会创建新的字符创,因此大量的连接字符创会消耗时间和资源(比如String s = s1 + s2 + s3; 会创建s1、s2、s3、s1 + s2、s1 + s2 + s3一共5个字符串),使用StringBuilder可以避免这个问题。

方法 作用
StringBuilder 构造一个空的字符串构建器
int length() 返回构建器中的代码单元数量
StringBuilder append(String str) 构建器追加一个字符创,并返回this
StringBuilder append(char c) 构建器追加一个代码单元,并返回this
void setCharAt(int i, char c) 将第i个代码单元设置为c
StringBuilder inset(int offset, String str) 在offset位置插入一个字符串,并返回this
StringBuilder insert(int offset, char c) 在offset位置插入一个代码单元,并返回this
StringBuilder delete(int startIndex, int endIndex) 删除偏移量从startIndex到endIndex - 1的代码单元,返回this
String toString() 返回一个与构建器内容相同的字符串

java.lang.String & java.lang.StringBuilder的更多相关文章

  1. Java.lang.NoSuchMethodError: org.slf4j.spi.LocationAwareLogger.log(Lorg/slf4j/Marker;Ljava/lang/String;ILjava/lang/String;[Ljava/lang/Object;Ljava/lang/Throwable;)V

    今天接入激光推送,一直报错: Java.lang.NoSuchMethodError: org.slf4j.spi.LocationAwareLogger.log(Lorg/slf4j/Marker; ...

  2. SpringBoot报错:nested exception is org.apache.ibatis.executor.ExecutorException: No constructor found in com.tuyrk.test.User matching [java.lang.Long, java.lang.String, java.lang.String]

    错误提示: Caused by: org.apache.ibatis.executor.ExecutorException: No constructor found in com.tuyrk._16 ...

  3. Handler processing failed; nested exception is java.lang.NoSuchMethodError: org.apache.commons.codec.digest.DigestUtils.sha1Hex(Ljava/lang/String;)Ljava/lang/String;

    异常:Handler processing failed; nested exception is java.lang.NoSuchMethodError: org.apache.commons.co ...

  4. java.lang.NoSuchMethodError: org.objectweb.asm.ClassVisitor.visit(IILjava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)V

    异常完整信息 严重: Servlet.service() for servlet RegServlet threw exception java.lang.NoSuchMethodError: org ...

  5. java.lang.NoSuchMethodError: org.jboss.logging.Logger.getMessageLogger(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Object;

    spring3_hibernate 集成报错信息 java.lang.NoSuchMethodError: org.jboss.logging.Logger.getMessageLogger(Ljav ...

  6. Failed to bind properties under 'logging.level' to java.util.Map<java.lang.String, java.lang.String>

    org.springframework.boot.context.properties.bind.BindException: Failed to bind properties under 'log ...

  7. No converter found capable of converting from type [java.lang.String] to type [java.util.Map<java.lang.String, java.lang.String>]

    java.lang.IllegalStateException: Failed to load ApplicationContext at org.springframework.test.conte ...

  8. java.lang.AbstractMethodError: org.slf4j.impl.JDK14LoggerAdapter.log(Lorg/slf4j/Marker;Ljava/lang/String;ILjava/lang/String;[Ljava/lang/Object;Ljava/lang/Throwable;)V

    java.lang.AbstractMethodError: org.slf4j.impl.JDK14LoggerAdapter.log(Lorg/slf4j/Marker;Ljava/lang/St ...

  9. Idea运行时Scala报错Exception in thread "main" java.lang.NoSuchMethodError:com.google.common.base.Preconditions.checkArgument(ZLjava/lang/String;Ljava/lang/Object;)V

    一.情况描述 使用idea +scala+spark,运行程序代码如下: package cn.idcast.hello import org.apache.spark.rdd.RDD import ...

随机推荐

  1. 【cf789D】Weird journey(欧拉路、计数)

    cf788B/789D. Weird journey 题意 n个点m条边无重边有自环无向图,问有多少种路径可以经过m-2条边两次,其它两条边1次.边集不同的路径就是不同的. 题解 将所有非自环的边变成 ...

  2. 【HDU4947】GCD Array (莫比乌斯反演+树状数组)

    BUPT2017 wintertraining(15) #5H HDU- 4947 题意 有一个长度为l的数组,现在有m个操作,第1种为1 n d v,给下标x 满足gcd(x,n)=d的\(a_x\ ...

  3. #565. 「LibreOJ Round #10」mathematican 的二进制(期望 + 分治NTT)

    题面 戳这里,题意简单易懂. 题解 首先我们发现,操作是可以不考虑顺序的,因为每次操作会加一个 \(1\) ,每次进位会减少一个 \(1\) ,我们就可以考虑最后 \(1\) 的个数(也就是最后的和) ...

  4. 学习1__STM32--FatFS之逻辑盘符与物理盘符

    FatFS源代码中的函数逻辑关系 第一 调用函数 f_mount() result = f_mount(&fs, FS_VOLUME_NAND, ); /* Mount a logical d ...

  5. Why I don't want use JPA anymore

    转自:https://dev.to/alagrede/why-i-dont-want-use-jpa-anymore-fl Great words for what is considered by ...

  6. java 子类强转父类 父类强转子类

    Java 继承 继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为. Java 子类强转父类 父类引用指向子类对象: jav ...

  7. 洛谷P3674 小清新人渣的本愿

    题意:多次询问,区间内是否存在两个数,使得它们的和为x,差为x,积为x. n,m,V <= 100000 解: 毒瘤bitset...... 假如我们有询问区间的一个桶,那么我们就可以做到O(n ...

  8. jquery基本语法(一)

    https://www.cnblogs.com/haiyan123/p/7657151.html 一.jQuery基础1.为什么要用jquery?    写起来简单,省事,开发效率高,兼容性好2.什么 ...

  9. Java 接口篇

    为什么使用接口? 问题 要求实现防盗门的功能 分析 门有开和关的功能,锁有上锁和开锁的功能 将门和锁分别定义为抽奖类 那么问题就是防盗门即继承了门的同时又继承了锁,而Java的继承是单继承,接口可多继 ...

  10. vue proxyTable 接口跨域请求调试

    在不同域之间访问是比较常见,在本地调试访问远程服务器....这就是有域问题. VUE解决通过proxyTable: 在 config/index.js 配置文件中 dev: { env: requir ...