String的20个方法
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的区别
String和StringBuffer/StringBuilder区别
StringBuffer/StringBuilder创建时会预留16个缓冲区,当缓存区满了,会按照(当前大小+将要存入的个数)*2规则扩容
String不会预留,每次满了,创建新数组并复制过去,较慢
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个方法的更多相关文章
- Java中String类的format方法使用总结
可参考: http://www.cnblogs.com/fsjohnhuang/p/4094777.html http://kgd1120.iteye.com/blog/1293633 String类 ...
- windows中java读目录空格变成%20 处理方法
URL url = Thread.currentThread().getContextClassLoader().getResource(""); String path = ur ...
- String中的“equal方法”和“==”
二话不说,先来说下重写的事情: 在Java中,String .Math.还有Integer.Double....等这些封装类重写了Object中的equals()方法,让它不再比较其对象在内存中的地址 ...
- 小白基础Python重要的字符串详解String的内置方法
String的内置方法: st='hello world {name} is {age}' {} 特殊内容需要识别format print(st.count('1')) 统计元素个数 print ...
- Javascript 中 with 的替代方案和String 中的正则方法
这几天在升级自己的MVVM 框架,遇到很多小问题,就在这里统一解决了. with 语法 在代码中,要执行这么一个函数 function computeExpression(exp, scope) { ...
- 关于JAVA的String类的一些方法
一.得到字符串对象的有关信息 1.通过调用length()方法得到String的长度. String str=”This is a String”; int len =str.length(); 2. ...
- String equals()方法使用以及子串加密
String equals()方法的实现方法: 名称 说明 String.Equals (Object) 确定此 String 实例是否与指定的对象(也必须是 String)具有相同的值. Strin ...
- C++ string 类的 find 方法实例详解
1.C++ 中 string 类的 find 方法列表 size_type std::basic_string::find(const basic_string &__str, size_ty ...
- java.lang.String 类的所有方法
java.lang.String 类的所有方法 方法摘要 char charAt(int index) 返回指定索引处的 char 值. int codePointAt(int index) 返回指定 ...
随机推荐
- pod管理调度约束、与健康状态检查
pod的管理 [root@k8s-master ~]# vim pod.yaml apiVersion: v1 kind: Pod metadata: name: nginx-pod labels: ...
- library cache pin解决方法
library cache pin大部分都是因为编译存储过程造成的 查找造成问题的数据库对象(一般为存储过程) SELECT * FROM v$session_wait WHERE event = ' ...
- 记一次使用logmnr查找操作人流程
经常遇到开发的需求,帮我查一下是谁修改了表里面的记录,是谁对表进行了DDL操作,此类问题可以使用logmnr解决 1.根据操作时间定位归档日志 SELECT name FROM V$ARCHIVED_ ...
- ASP.NET Core错误处理中间件[4]: 响应状态码页面
StatusCodePagesMiddleware中间件与ExceptionHandlerMiddleware中间件类似,它们都是在后续请求处理过程中"出错"的情况下利用一个错误处 ...
- InnoDB事务篇
1.解决数据更新丢失的问题 1)LBCC:基于锁的并发控制.让操作串行化执行.效率低. 2)MVCC:基于版本的并发控制.使用快照形式.效率高.读写不冲突.主流数据库都是使用的MVCC. 2.Inno ...
- Centos7 添加用户及设置权限
一.添加用户 1.登录root 用户 [gau@localhost /]$ su Password: # 输入密码 [root@localhost /]# 2.添加用户 [root@localhost ...
- 温习数据算法—js滑块验证码
前言 大多数的应用软件都需要输入一些验证码,验证码的样式也多种多样. 比如抢票,提交订单需要验证码,很多人就纳闷了,怎么还需要验证码呢?这不是浪费时间嘛. 存在即合理,合理就是现实的. 源码下载地址+ ...
- JavaScript常用API
JavaScript常用API 节点属性 文档节点 事件监听.一出事件 获取元素方法
- 小白都看得懂的Javadoc使用教程
Javadoc是什么 官方回答: Javadoc is a tool for generating API documentation in HTML format from doc comments ...
- 亿级用户下的新浪微博平台架构 前端机(提供 API 接口服务),队列机(处理上行业务逻辑,主要是数据写入),存储(mc、mysql、mcq、redis 、HBase等)
https://mp.weixin.qq.com/s/f319mm6QsetwxntvSXpKxg 亿级用户下的新浪微博平台架构 炼数成金前沿推荐 2014-12-04 序言 新浪微博在2014年3月 ...