String的20个方法

面试题

1、new和不new的区别

String A="OK";
String B="OK";//会去常量池查找有没有“Ok”这个常量,没有就在常量池创建
String C=new String("OK");
String D=new String("OK");//每次new都是创建一个新地址

不new涉及到内存常量池查找机制

2、String、StringBuffer、StringBuilder的区别

  1. String和StringBuffer/StringBuilder区别

    StringBuffer/StringBuilder创建时会预留16个缓冲区,当缓存区满了,会按照(当前大小+将要存入的个数)*2规则扩容

    String不会预留,每次满了,创建新数组并复制过去,较慢

  2. StringBuffer、StringBuilder的区别

    单线程和多线程,StringBuffer支持多线程,多线程中每次只让一个线程访问,效率低,但是是安全的,不会出现并发错误

    StringBuilder允许多个线程同时访问,效率高,但也很容易出问题

方法

返回类型 方法名 作用
int length() 字符串中字符的个数
byte[] getBytes() 字符串转成字节类型数组(注意中英文,中文为负数两个字节)
char[] toCharArray() 字符串转成char类型数组
String split(String str) 字符串按照指定内容从中间劈开,这个指定的内容消失
boolean equals(String str) (区分大小写)判断两个字符串的内容是否相同(需要数据类型相同再比较,即使内容相同),尽量把固定内容放前面
boolean equalsIgnoreCase() 忽略大小写的equals()比较
boolean contains(String str) 判断字符串中是否有str子字符串
boolean startsWith(String pre) 判断字符串是否以pre开头
boolean endsWith(String suf) 判断字符串是否以suf结尾
String toUpperCase() 字符串转大写
String toLowerCase() 字符串转小写
String replace(String,String) 把一个字符串的内容全部替换成指定内容
String replaceAll(String,String) 把一个字符串的内容全部替换成指定内容(支持正则)
String replaceFirst(String,String) 将字符串中第一个出现的某个内容替换成指定内容
String trim() 去除字符串的前后空格
String substring(int x ,int y) 从下标x截取到下标y-1个元素
String substring(int x) 从下标x截取到最后
char charAt(int index) 返回index下标对应的元素
int indexOf(String str) 找到第一个str的下标
int lastIndexOf(String str) 找到最后一个str的下标

String的20个方法的更多相关文章

  1. Java中String类的format方法使用总结

    可参考: http://www.cnblogs.com/fsjohnhuang/p/4094777.html http://kgd1120.iteye.com/blog/1293633 String类 ...

  2. windows中java读目录空格变成%20 处理方法

    URL url = Thread.currentThread().getContextClassLoader().getResource(""); String path = ur ...

  3. String中的“equal方法”和“==”

    二话不说,先来说下重写的事情: 在Java中,String .Math.还有Integer.Double....等这些封装类重写了Object中的equals()方法,让它不再比较其对象在内存中的地址 ...

  4. 小白基础Python重要的字符串详解String的内置方法

    String的内置方法: st='hello world  {name} is {age}'  {}  特殊内容需要识别format print(st.count('1')) 统计元素个数 print ...

  5. Javascript 中 with 的替代方案和String 中的正则方法

    这几天在升级自己的MVVM 框架,遇到很多小问题,就在这里统一解决了. with 语法 在代码中,要执行这么一个函数 function computeExpression(exp, scope) { ...

  6. 关于JAVA的String类的一些方法

    一.得到字符串对象的有关信息 1.通过调用length()方法得到String的长度. String str=”This is a String”; int len =str.length(); 2. ...

  7. String equals()方法使用以及子串加密

    String equals()方法的实现方法: 名称 说明 String.Equals (Object) 确定此 String 实例是否与指定的对象(也必须是 String)具有相同的值. Strin ...

  8. C++ string 类的 find 方法实例详解

    1.C++ 中 string 类的 find 方法列表 size_type std::basic_string::find(const basic_string &__str, size_ty ...

  9. java.lang.String 类的所有方法

    java.lang.String 类的所有方法 方法摘要 char charAt(int index) 返回指定索引处的 char 值. int codePointAt(int index) 返回指定 ...

随机推荐

  1. 1.5V转5V的最少电路的芯片电路图

    PW5100满足1.5V转5V的很简洁芯片电路,同时达到了最少的元件即可组成DC-DC电路1.5V转5V的升压转换器系统. PW5100在1.5V转5V输出无负载时,输入效率电流极低,典型值10uA. ...

  2. IOC技术在前端项目中的应用

    目录 背景 什么是IOC 如何实现一个IOC 第一步:实现一个容器 第二步:用好装饰器 第三步:使用容器 扩展和展望 最后 背景 前端发展至今已经过去30余年,前端应用领域在不断壮大的过程中,也变得越 ...

  3. Visual Studio中自定义代码段!

    Visual Studio中自定义代码段! 第一步:在编辑器中进行快捷键的输入[ctrl + shift + p] 或者 点击 查看 第一个选项就是!请看下图 第二步:选择你要配置代码段的语言, 这里 ...

  4. 当Vue可视化工具创建不了项目时的解决办法!

    当Vue可视化工具创建不了项目时的解决办法! 当你尝试用可视化工具创建一个Vue的项目的时候,报错, 出现什么indexOf什么什么的错误! 我的解决办法是把可视化工具删除掉,重新下载! 如果你是 n ...

  5. centos7防火墙firewalld拒绝某ip或者某ip段访问服务器任何服务

    安装firewall后(LINUX7系统一般情况下默认已安装),防火墙默认配置是只打开SSH端口的,也就是22端口,如果SSH的端口已更改成别的端口了,请切记一定在启动firewall前先修改对应服务 ...

  6. .net core 和 WPF 开发升讯威在线客服与营销系统:使用 TCP协议 实现稳定的客服端

    本系列文章详细介绍使用 .net core 和 WPF 开发 升讯威在线客服与营销系统 的过程.本产品已经成熟稳定并投入商用. 在线演示环境:https://kf.shengxunwei.com 注意 ...

  7. CentOS7.9静默安装Oracle19C软件

    CentOS7.9静默安装Oracle19C软件 Oracle发布了支持的版本.可以看到了Oracle11gR2和Oracle12C.一直到2022年就不支持patch和服务.(感慨Oracle 11 ...

  8. https://nginx.org/en/docs/http/request_processing.html

    https://nginx.org/en/docs/http/request_processing.html

  9. 四. Ribbon负载均衡服务调用

    1. 概述 1.1 Ribbon是什么 SpringCloud Ribbon是基于Netflix Ribbon实现的一套客户端,是负载均衡的工具. Ribbon是Netflix发布的开源项目,主要功能 ...

  10. mysql和oracle的字符拼接方法

    不同的数据库,相应的字符串拼接方式不同,通过对比加深一下记忆. 一.MySQL字符串拼接 1.CONCAT函数 语法格式:CONCAT(char c1, char c2, ..., char cn) ...