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. 脚本自动封掉并发数过高的 IP

    防止扫描器对服务器恶意扫描,可以对 iptables 规则做了比较严格的配置. 以下配置可作为参考: #lo -A INPUT -i lo -j ACCEPT -A OUTPUT -o lo -j A ...

  2. 关于 atcoder 页面美化的 css

    使用方式 把下面代码加入 ESI Stylish 即可. 这是一个 chrome 的插件,可以翻\(~\)墙(或者不需要)去下载. 这是本人瞎魔改的... 代码 Update on 12-17 \(a ...

  3. 【转】C++ const 关键字总结

    const是一个C++语言的限定符,它限定一个变量不允许被改变.使用const在一定程度上可以提高程序的安全性和可靠性.另外,在观看别人代码的时候,清晰理解const所起的作用,对理解对方的程序也有一 ...

  4. 「SCOI2015」小凸解密码 解题报告

    「SCOI2015」小凸解密码 题意:给一个环,定义一段连续的极长\(0\)串为\(0\)区间,定义一个位置的离一个\(0\)区间的距离为这个位置离这个区间中\(0\)的距离的最小值,每次询问一个位置 ...

  5. Nginx+Tomcat-cluster构建

    -----------ReProxy-------------------------Client-----------192.168.56.202 nginx 192.168.56.200 Tomc ...

  6. Annihilate(SA)

    题目描述 黑暗之主的蜈蚣几乎可以毁灭一切,因此小正方形陷入了苦战…… 小正方形现在需要减弱黑暗之主的攻击. 一个黑暗之主的攻击可以用一个仅有小写字母的字符串表示. 现在黑暗之主向小正方形发动了若干攻击 ...

  7. 2019 校内赛 RPG的地牢猎手(bfs+优先队列)

    Problem Description Luke最近沉迷一款RPG游戏,游戏中角色可以进入地牢关卡,只要顺利走出地牢就可以获得奖励.地牢表示为n行m列的块矩阵,其中每个块只可以是障碍块.入口.出口或数 ...

  8. webpack入门(六) API in modules

    A quick summary of all methods and variables available in code compiled with webpack. 用webpack编译的一些变 ...

  9. django基于中间件的IP访问频率控制

    一.中间件的代码 注意:成功时返回的是None,那样才会走视图层,返回httpresponse就直接出去了 import time from django.utils.deprecation impo ...

  10. Hibernate3 多对多关系

    学习hibernate的笔迹第三篇,主要内容:多对多关系, 检索策略,HQL查询,QBC,事物管理,c3p0配置 1.1.1  Hibernate的关联关系映射:(多对多) 1.1.1.1     多 ...