一、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的更多相关文章

  1. Java学习之String对象为什么是不可变的

    转自:http://www.2cto.com/kf/201401/272974.html,感谢作者的总结 什么是不可变对象? 众所周知, 在Java中, String类是不可变的.那么到底什么是不可变 ...

  2. Java学习笔记--String StringBuffer StringBuilder

    String StringBuffer StringBuilder String http://docs.oracle.com/javase/7/docs/api/ 中文: http://www.cn ...

  3. [ Java学习基础 ] String字符串的基本操作

    字符串的拼接 String字符串虽然是不可变的字符串,但也同样可以进行拼接,只是会产生一个新的对象.String字符串拼接的时候可以使用"+"运算符或String的concat(S ...

  4. [ Java学习基础 ] String、StringBuffer、StringBuilder比较学习

    首先讲获得字符串对象的方式有两种,一种是直接使用字符串常量,一种是使用new关键字创建,但它们之间是有一些区别,如下运行实例: String s1 = new String("Hello&q ...

  5. java学习之String类

    标签(空格分隔): String类 String 的概述 class StringDemo{ public static void main(String[] args){ String s1=&qu ...

  6. Java学习之String、StringBuffer、StringBuilder

    String 我们知道字符串的分配和其他对象分配一样,是需要消耗高昂的时间和空间的,而且字符串我们使用的非常多.JVM为了提高性能和减少内存的开销,在实例化字符串的时候进行了一些优化:使用字符串常量池 ...

  7. Java学习之String与int的相互转换

    •String 转 int 两种方式 int a = Integer.parseInt(s);int b = Integer.valueOf(s).intValue(); 代码 public clas ...

  8. java学习笔记 --- String类

    一.定义 就是由多个字符组成的一串数据.也可以看成是一个字符数组. 注意: 1.字符串是常量:它们的值在创建之后不能更改.为什么? 意思就是说字符串确定了,就会在常量池中生成这个字符串. 所以说它的值 ...

  9. Java学习笔记——String与StringBuffer

    String与StringBuffer String.substring(start,end); 范围为[start,end) StringBuffer.delete(start,end) 范围也是为 ...

随机推荐

  1. WebHook之PHP实践@coding.net

    次写完代码, 打开FileZilla, 把写好的文件上传到vps上, 久而久之觉得腻烦, 寻思有没有更geek的方法, 便有此文. WebHook是跟随着Git而兴起的技术, 当你push到服务器的时 ...

  2. ASP.NET Core2.1 你不得不了解的GDPR(Cookie处理) - (转载)

    前言 时间一晃 ASP.NET Core已经迭代到2.1版本了. 迫不及待的的下载了最新的版本,然后生成了一个模版项目来试试水. ...然后就碰到问题了... 我发现..cookie竟然存不进去了.. ...

  3. Docker中查看Mysql数据库中的各环境参数

    通过官方的文档可以看到运行MySQL容器的命令是: docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=mypwd -d mysql:tag 如:d ...

  4. BZOJ3786: 星系探索 Splay+DFS序

    题目大意:给你一个树,支持三种操作,子树加,点到根的路径和,改变某一个点的父亲. 分析: 看起来像一个大LCT,但是很显然,LCT做子树加我不太会啊... 那么,考虑更换一个点的父亲这个操作很有意思, ...

  5. net 表格控件

    一个开源的表格控件,界面像Excel,看来很好,有机会在项目中使用:ReoGrid https://reogrid.net/

  6. 20155316 《网络对抗》Exp8 Web基础

    实验内容 实验1:Web前端HTML 能正常安装.启停Apache.理解HTML,理解表单,理解GET与POST方法,编写一个含有表单的HTML. 1.开启Apache服务 思路:使用service ...

  7. 隐马尔科夫模型研究 stock 以及 lotto

    说明 本文参考了这里 由于数据是连续的,因此使用了高斯隐马尔科夫模型:gaussianHMM 一.stock代码 import tushare as ts import pandas as pd im ...

  8. 数据库历险记(二) | Redis 和 Mecached 到底哪个好?

    文章首发于微信公众号「陈树义」,专注于 Java 技术分享的社区.点击链接扫描二维码,与500位小伙伴一起共同进步.微信公众号二维码 http://p3npq6ecr.bkt.clouddn.com/ ...

  9. LeetCode Container With Most Water (Two Pointers)

    题意 Given n non-negative integers a1, a2, ..., an, where each represents a point at coordinate (i, ai ...

  10. jenkins +gitlab +docker 自动化部署tomcat 项目

    实验环境 实验设备 三台服务器 centos 7.X 以上 内存 2-3G左右 192.168.1.195 (jenkins最新+ git 2.8+maven 3.5 +tomcat 8+java1. ...