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. php压缩文件夹并下载到本地

    /** * @param $path 要压缩的文件夹路径 * @param $filename 要生成的压缩包名称 */ public function create_zip($path,$filen ...

  2. 【转】Js中的window.parent ,window.top,window.self 详解

    [转自]http://blog.csdn.net/zdwzzu2006/article/details/6047632 在应用有frameset或者iframe的页面时,parent是父窗口,top是 ...

  3. 24V降压3.3V芯片,低压降线性稳压器

    PW6206系列是一款高精度,高输入电压,低静态电流,高速,低压降线性稳压器具有高纹波抑制.在VOUT=5V&VIN=7V时,输入电压高达40V,负载电流高达300mA,采用BCD工艺制造.P ...

  4. PW2320芯片N沟道增强型MOSFET

    PW2320采用先进的沟道技术,以提供优良的RDS(ON),低栅电荷和电压门极电压低至2.5V时工作.该装置适合用作电池保护或在其他开关应用中. 特征 VDS=20V ID=8A RDS(开)< ...

  5. centos7服务器远程安装图形化页面

    以下是我用云的centos 7.4的安装步骤,照着我的命令操作肯定OK的,其他的就不敢保证了... 1.首先安装X(X Window System),命令为:(注意有引号) yum groupinst ...

  6. (15)-Python3之--configparser模块

    1.模块简介 configparser模块是python用来读取配置文件的模块,置文件的格式跟windows下的ini或conf配置文件相似,可以包含一个或多个节(section), 每个节可以有多个 ...

  7. jQuery mock.js模拟的使用

    <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...

  8. MySQL的双主配置

    配置MySQL双主配置,需要先配置MySQL的主从复制,传送门: 0.集群规划 hadoop105 hadoop106 hadoop107 MySQL(master,slave) MySQL(slav ...

  9. 利用Javascript制作网页特效(其他常见特效)

    设置为首页和加入收藏夹 ①:在body标签内输入以下代码: <a onclick="this.style.behavior='url(#default#homepage)'; this ...

  10. java实现hbase数据库的增删改查操作(新API)

    操作环境: java版本:    jdk 1.7以上 hbase 版本:1.2.x hadoop版本:2.6.0以上 实现功能: 1,创建指定表 2,删除指定表 3,根据表名,行键,列族,列描述符,值 ...