Java学习之String
一、String介绍(引用类型)
1.java.lang.String字符串.
用""括住的时字符串,都可以看做是实现此类的实例
类String中也有许多简单方法
2.特点
1).字符串不变:字符串的值在创建后不能被更改
2).因为String对象不可改变.所有他们可以被共享
3).(底层是这么实现的)对String s1 赋值 "abc" 等效于char[] data = ['a','b','c']
3.构造举例(面试可能会问,)
// 无参构造
String str = new String();
// 通过字符数组构造
char chars[] = {'a','b','c'};
String str2 = new String(chars);
// 通过字节数组构造
byte b[] = {97,98,99};
String str3 = new String(b);
4.字符串的比较(面试的时候会问,结合String进行理解)
1. == 比较
1.对基本类型 这个东西 可以 比较基本类型 四类八种 (比较的是值是否相等)
2.对引用类型进行比较时, 则比较地址值
2.equals(String str)
内容相同 ,返回true
5.String 方法
(1)获取
equalsIgnoreCase(String str) 忽略大小写比较内容
int length() 返回字符串长度
String concat 将指定的字符串连接到该字符串的末尾
char charAt(int index) 返回指定索引处的char值
int indexOf(String str) 返回指定字符串第一次出现该字符串的位置(索引) 找到了就是对应的首次出现的索引,找不到就返回-1
String substring (int beginIndex) 返回一个字符串,从beginIndex开始截取字符串到最后
String substring (int beginIndex, int endIndex) 返回一个字符串,从beginIndex开始截取字符串
到endIndex截取字符串。 含beg 不含 end
(2)转换
1.String replace()
ex:
String str = "abbccd"
String newstr = str.replace('b','*')
System.out.println(newstr)
a**ccd
此处将含有b的全部替换成*了
String newstr = str.replace("bb","*")
运行结果为a*ccd
2.
char [] chars = toCharArray()转成字符数组
3.
byte[] getByte();使用平台默认的字符集将该String编码新的字节数组.
4. String[] split(String regex) ""\\."表示.转义一下
以 regex对字符串进行分割
Java学习之String的更多相关文章
- Java学习之String对象为什么是不可变的
转自:http://www.2cto.com/kf/201401/272974.html,感谢作者的总结 什么是不可变对象? 众所周知, 在Java中, String类是不可变的.那么到底什么是不可变 ...
- Java学习笔记--String StringBuffer StringBuilder
String StringBuffer StringBuilder String http://docs.oracle.com/javase/7/docs/api/ 中文: http://www.cn ...
- [ Java学习基础 ] String字符串的基本操作
字符串的拼接 String字符串虽然是不可变的字符串,但也同样可以进行拼接,只是会产生一个新的对象.String字符串拼接的时候可以使用"+"运算符或String的concat(S ...
- [ Java学习基础 ] String、StringBuffer、StringBuilder比较学习
首先讲获得字符串对象的方式有两种,一种是直接使用字符串常量,一种是使用new关键字创建,但它们之间是有一些区别,如下运行实例: String s1 = new String("Hello&q ...
- java学习之String类
标签(空格分隔): String类 String 的概述 class StringDemo{ public static void main(String[] args){ String s1=&qu ...
- Java学习之String、StringBuffer、StringBuilder
String 我们知道字符串的分配和其他对象分配一样,是需要消耗高昂的时间和空间的,而且字符串我们使用的非常多.JVM为了提高性能和减少内存的开销,在实例化字符串的时候进行了一些优化:使用字符串常量池 ...
- Java学习之String与int的相互转换
•String 转 int 两种方式 int a = Integer.parseInt(s);int b = Integer.valueOf(s).intValue(); 代码 public clas ...
- java学习笔记 --- String类
一.定义 就是由多个字符组成的一串数据.也可以看成是一个字符数组. 注意: 1.字符串是常量:它们的值在创建之后不能更改.为什么? 意思就是说字符串确定了,就会在常量池中生成这个字符串. 所以说它的值 ...
- Java学习笔记——String与StringBuffer
String与StringBuffer String.substring(start,end); 范围为[start,end) StringBuffer.delete(start,end) 范围也是为 ...
随机推荐
- window.location对象详解
window.location.href(当前URL) 结果如下: http://www.myurl.com:8866/test?id=123&username=xxx window.loca ...
- Ubuntu软件的安装和使用
windows 系统有很多的截图的软件 比如 QQ 浏览器什么的,但是ubuntu 还是很少的截图软件的接下来介绍一下ubuntu 的截图软件 1.键盘上的alt+printscreen 可以全屏幕的 ...
- free命令(buffer与cache区别/linux查看空闲内存)
自:http://www.cnblogs.com/coldplayerest/archive/2010/02/20/1669949.html Linux上free命令的输出. 下面是free的运行 ...
- Android导入AS工程
AS 导入工程 还得 新建工程贴代码
- 使用target打开的iframe 获取src的问题
<a target="mainframe"href="xxx.jsp"/> <iframe id="mainframe" ...
- 20155233 《网络对抗》Exp7 网络欺诈技术防范
应用SET工具建立冒名网站 1.要让冒名网站在别的主机上也能看到,需要开启本机的Apache服务,并且要将Apache服务的默认端口改为80,先在kali中使用netstat -tupln |grep ...
- AngularJS+bootstrap-switch 实现开关控件
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- PostgreSQL杂记页
磨砺技术珠矶,践行数据之道,追求卓越价值 luckyjackgao@gmail.com 返回顶级页:PostgreSQL索引页 此页,记录其他数据库,linux以及各种点滴事项 1--数据库设计 1 ...
- 当系统扩展遇到违背OO的里氏原则(LSP)的时候怎么办 ?
先转一篇写得很好的文章:http://www.cnblogs.com/CodeGuy/archive/2012/03/26/2418803.html ========================= ...
- java 对象是可以判空的
比如这里存xml,这里判断了一下element是否为空,来避免空指针异常,推荐用guava的optional判空