一、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. easyui validatebox textbox 使用例子

    <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebFormTextbox ...

  2. tarjan 求割点

    在无向连通图中,如果将其中一个点以及所连的所有边都删掉,图就不再连通的话,那么这个点就叫做割点 首先将所有的点分为:1.环中点 2.不成环的单点割点一般出现的情况是:如果(处在不同环中/一环一单点/均 ...

  3. 基于树莓派3的CAN总线编程

    基于树莓派3的CAN总线编程 原创 2016年09月08日 10:16:13 标签: 树莓派3 / MCP2515 / CAN总线 / python / 命令行 5254 简介 树莓派3使用Pytho ...

  4. Hadoop详细配置教程

    windows下采用PuTTY或者Xshell连接远程主机 mac用终端连接远程linux主机:ssh user@hostname user 为 linux 服务器的管理员名称 hostname 为 ...

  5. 避免写慢SQL

    最近在整理数据库中的慢SQL,同时也查询了相关资料.记录一下,要学会使用执行计划来分析SQL. 1. 为查询缓存优化你的查询 大多数的MySQL服务器都开启了查询缓存.这是提高性最有效的方法之一,而且 ...

  6. 20155227《网络对抗》Exp3 免杀原理与实践

    20155227<网络对抗>Exp3 免杀原理与实践 实践内容 正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,自己利用shellcode编程等 ...

  7. 汇编 MOV -2

    知识点:  MOV指令  基址  内联汇编  把OD附加到资源管理器右键菜单 一.MOV指令 aaa=0x889977;//MOV DWORD PTR DS:[0x403018],0x8899 ...

  8. cocos2d-x学习记录2——CCAction动作

    CCAction能够使CCNode运动起来,能够呈现出多种多样的动作.这些动作能够改变其运动方向.形状.大小.旋转等. 同时,还可利用CCCallFunc.CCCallFuncN.CCCallFunc ...

  9. vue中的单项数据流

    在VUE中,数据从父组件流向(传递)给子组件,只能单向绑定,在子组件内部不应该修改父组件传递过来的数据. 如果必须修改子组件中接收的数据,可以: 1. 作为data中局部数据,进行改动 2. 作为子组 ...

  10. 起步 - vue-router路由与页面间导航

    vue-router 我们知道路由定义了一系列访问的地址规则,路由引擎根据这些规则匹配找到对应的处理页面,然后将请求转发给页进行处理.可以说所有的后端开发都是这样做的,而前端路由是不存在"请 ...