Java基础学习篇---------String、集合的学习
一、String常用的方法:

1. == 实质比较两个对象的地址数值
String a = "hello" (hello为匿名对象)
String a1 = "hello"
String b = new String("hello")
String b1 = new String("hello").intern
String c = b;
a == b ----------> false false的原因:new会为b新开辟一块内存,所以比较时候两个地址不同(String里面含有intern方法)
可以手动向字符串池中添加,运行结果就是ture)
a == a1 --------> ture ture的原因:第一次字符串常量会放入“字符串池”中,下次再次申请时候,会指向同一块的内存
如果不存在的话,会自动加入内存池中
b == c --------->true
注意:开发时候大部分使用String a1 = "hello"此类方法,避免new String对象会开辟新的内存,造成内存的的浪费。
即使new出新的对象,使用intern()方法也会把字符串加入字符串池中
2.equals : 字符串比较里面的内容
b.equals(a)
hello.equals(a)
如果String b = null 时候,系统会抛出nullPointExction(空指针异常),开发时候大部分都使用hello.equals(a)此类方法,
原因:就是可以避免出现字符串为空时候抛出的异常
3.开发过程中尽量不要大规模使用String + "hello" + "world"............ , 因为这样也会造成内存的浪费

4.String常用的函数名
(1). char charAt(int index) : 查找制定索引的字,第几个位置是什么字母就输出什么字母
(2). boolean equals(String s) : 比较两个字符的内容是否相同
(3). boolean equalsIgnoreCase(String s) : 比较两个字符串是否相同,忽略大小写
(4). int compareTo(String s) : 比较两个字符串的大小关系
(5). boolean contains(String s) : 查找字符串是否存在
(6). int indexOf(String s) : 从起始位置开始查找字符串,存在返回索引数值,不存在返回-1
(7). int indexOf(String s , int fromIndex ) : 从fromIndex位置开始查找,存在返回索引数值,不存在返回-1
(8). boolean startWith(String s) : 判断是否以指定字符串作为起始位置
(9). boolean startWith(String s , int fromIndex) : 判断是否已指定字符串从fromIndex位置作为起始位置
(10). endWith(String s) : 判断是否已指定字符作为结束位置
(11). String replaceAll(String s , String replace) : 把字符串s全部替换成replace字符串
(12). String replaceFrist(String s , String replace) : 字符串replace只替换第一个s字符串,其余的s字符串的都不用替换
(13). String[] split(String s) : 把字符串s全部拆分成字符串数组 String data[] = String.split(" ") : 这个是按空格来拆分的
(14). String split(String s , int limit) : 将字符串s部分拆分成字符串数组个数limit的长度
(15). String substring(int beginIndex) : 从beginIndex位置截取到字符串结尾
(16). String substring(int beginIndex , int endIndex) : 从beginIndex位置截取到字符串endIndex结束
(17). String intern() : 把字符串对象加入字符串池中
(18). boolean isEmpty() : 判断字符串是否为空
(19). int length() : 获得字符串的长度
(20). String trim() : 去掉字符串的左右空格
(21). String concat(String s) : 字符串连接
(22). String toUpperCase() : 将字符串小字母转化成大写字母
(23). String toLowerCase() : 将字符串大写字母转成小写字母
5.字符串转为基本数据
public static int parseInt(String s)
public static double parseInt(String s)
public static boolean parseInt(String s)
6.基本数据类型转换成字符串
public static String valueOf(int 、double、boolean)
二、集合学习



Java基础学习篇---------String、集合的学习的更多相关文章
- JAVA基础第五章-集合框架Map篇
业内经常说的一句话是不要重复造轮子,但是有时候,只有自己造一个轮子了,才会深刻明白什么样的轮子适合山路,什么样的轮子适合平地! 我将会持续更新java基础知识,欢迎关注. 往期章节: JAVA基础第一 ...
- Java基础及JavaWEB以及SSM框架学习笔记Xmind版
Java基础及JavaWEB以及SSM框架学习笔记Xmind版 转行做程序员也1年多了,最近开始整理以前学习过程中记录的笔记,以及一些容易犯错的内容.现在分享给网友们.笔记共三部分. JavaSE 目 ...
- Java基础-引用数据类型之集合(Collection)
Java基础-引用数据类型之集合(Collection) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.为什么出现集合类 面向对象语言对事物的体现都是以对象的形式,所以为了方便 ...
- Java基础-字符串(String)常用方法
Java基础-字符串(String)常用方法 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.java的API概念 Java的API(API:Application(应用) Pr ...
- Java基础知识强化之集合框架笔记76:ConcurrentHashMap之 ConcurrentHashMap简介
1. ConcurrentHashMap简介: ConcurrentHashMap是一个线程安全的Hash Table,它的主要功能是提供了一组和Hashtable功能相同但是线程安全的方法.Conc ...
- JAVA基础第四章-集合框架Collection篇
业内经常说的一句话是不要重复造轮子,但是有时候,只有自己造一个轮子了,才会深刻明白什么样的轮子适合山路,什么样的轮子适合平地! 我将会持续更新java基础知识,欢迎关注. 往期章节: JAVA基础第一 ...
- Java基础知识强化之集合框架笔记56:Map集合之HashMap集合(HashMap<String,Student>)的案例
1. HashMap集合(HashMap<String,Student>)的案例 HashMap是最常用的Map集合,它的键值对在存储时要根据键的哈希码来确定值放在哪里. HashMap的 ...
- 「Java面试题/知识点精华集」20000+字的Java基础知识篇(2020最新版) !
本文已经收录进我的 79K Star 的 Java 开源项目 JavaGuide:https://github.com/Snailclimb/JavaGuide (「Java学习+面试指南」一份涵盖大 ...
- java基础——入门篇
整体大纲图 1.认识java 核心知识点:JVM.搭建Java开发环境.java的发展史.java特点.java程序类型.垃圾收集器.J2SE下载和安装.环境变量的配置和测试.以及简单的开发工具的使用 ...
- Java基础知识系列——String
最近晚上没有什么事(主要是不加班有单身),就复习了一下Java的基础知识.我复习Java基础知识主要是依据Java API和The Java™ Tutorials. 今天是第一篇,复习了一下Strin ...
随机推荐
- PHP+Gtk实例(求24点)
作者: Laruence( ) 本文地址: http://www.laruence.com/2009/05/26/871.html 转载请注明出处 最近要安排我为BIT提供的<PHP高级应用 ...
- UI设计小白怎样学才能快速入门?
最近有很多同学问我,UI小白有什么捷径可以快速入门?其实我想说设计这门学科没有什么捷径,真的只有多学.多看.多练.多想.多做. 1.先学软件 如果你是小白,软件也不会用,那就先学软件,从PS开始,先看 ...
- 10 Maven 版本管理
Maven 版本管理 一个健康的项目通常有一个长期.合理的版本演变过程.例如 Maven 本身的版本也比较多,如最早的 Maven1:Maven2 有 2.0.9.2.0.10.2.1.0.2.2.0 ...
- break MISSING_BLOCK_LABEL_160; 看源代码出现的,源代码是反编译的
break MISSING_BLOCK_LABEL_160; FileNotFoundException fnfe; fnfe; out.close(); throw fnfe; in.close() ...
- 面向对象先修:Java入门
学习总结 在C语言和数据结构的基础上,在上暑期的面向对象Java先修课程时,熟悉语言的速度明显加快了很多.Java和C在很多基础语法上非常相似,比如基本的数据类型,循环以及条件分支语句,数组的遍历等. ...
- 2018.10.14 loj#516. DP 一般看规律(启发式合并)
传送门 注意到一种颜色改了之后就不能改回去了. 因此可以启发式合并. 每次把小的合并给大的. 这样每个数最多被合并logloglog次. 如果维护一棵比较下标的平衡树的话,对于答案有贡献的就是每个数与 ...
- 2018.09.27 bzoj2510: 弱题(概率dp+循环矩阵优化)
传送门 简单概率dp. 显然每次转移的式子可以用一个矩阵表示出来: 这个是循环矩阵. 因此只用维护第一行快速幂一波就行了. 代码: #include<bits/stdc++.h> #def ...
- Myeclipse2014的Preview乱码问题
1.问题图样 2.问题探究:之前的版本没有这个问题,正常服务器部署也没有问题,而且改正了工程的编码设置 JSP的编码方式 3.问题解决:问题还是没有解决,最后找到了方法,似乎是跟本地编码反冲 选中pr ...
- 教你把p标签的一行字掰弯文字换行): word-wrap: break-word;
1 使用前的p是这样: 2 使用后: p{ word-wrap: break-word; overflow: hidden; } 3 又想变直: p{ word-wrap: normal; ove ...
- MATLAB矩阵的一些用法
1.怎样去提取和修改矩阵中的一个元素. (1)创建一个矩阵 >> A=[1,2,3,4;5,6,7,8;9,10,11,12;13,14,15,16]A = 1 2 ...