java String常见的处理
import java.util.Arrays; class Demo5 { public static void main(String [] args) { String name1="hello world"; String name2="hello world"; String name3=new String("hello world"); String name4=new String("hello world"); System.out.println( name1==name2 );//true System.out.println( name3==name4 );//false System.out.println("字符串的查找----------------------------------------"); System.out.println("字符串的使用!String"); System.out.println(name1.length()+":字符串的长度"); System.out.println(name1.charAt(3)+":返回指定下标的字符"); System.out.println(name1.indexOf('o')+":通过字符找到字符的下标"); System.out.println(name1.lastIndexOf('o')+":返回最后一个字符的下标"); System.out.println("字符串的判断-----------------------------------"); String s=""; System.out.println(s.isEmpty());//true 长度为0返回true 否则返回false String fileName="Demo1.java"; System.out.println(fileName.endsWith(".java"));//判断某个是否已某个字符串结尾 System.out.println(fileName.contains("java"));//判断是否包含某个字符串 System.out.println(fileName.equals("java"));//false System.out.println("java".equals("java"));//true System.out.println("java".equalsIgnoreCase("JaVa"));//true忽略大小写比较 System.out.println("字符串转换---------------------------------------"); String str=new String(new char[]{'a','b','c','d','e'}); System.out.println(str); char[] charArr=str.toCharArray();//字符串装换成字符数组 System.out.println(Arrays.toString(charArr)); String strBy=new String(new byte[]{97,98,99}); System.out.println(strBy); byte [] byteArr=strBy.getBytes(); System.out.println(Arrays.toString(byteArr));//字符串转换成byte数组 System.out.println("字符串替换---------------------------------------"); String strRe="hello world !"; System.out.println(strRe.replace("world","java"));//都会重新创建一个对象,原来的 对象不会改变 System.out.println("字符串切割---------------------------------------"); String strSpl="hello world !"; String[] strArraySpl=strSpl.split(" "); System.out.println(Arrays.toString(strArraySpl)); System.out.println("字符串子串------------------按照指定顺序求字符串的一部分---------------------"); String strSub="hello world !"; System.out.println(strSub.substring(3));//也是产生新的字符串 System.out.println(strSub.substring(3,9));//假如超过了字符串的长度,那么用"空"表示 //System.out.println(strSub.subString(6,4))//运行时报错可以大于等于前面一个下标 System.out.println("字符串大小转换---------------------------------------"); String strUp="HELLO world"; System.out.println(strUp.toUpperCase()); System.out.println(strUp.toLowerCase()); System.out.println("字符串去除两边空格---------------------------------------"); String strTr=" hello world ! "; System.out.println(strTr.trim()); //trim的实现 数组里面的length是属性不是方法 String strTrm=" hello world ! "; char[] charTr=strTrm.toCharArray(); int start=0; int end=charTr.length; for(int i=0;i<charTr.length;i++){ if(charTr[i]==' ') start++; else break; } for(int i=charTr.length-1;i>=0;i--) { if(charTr[i]==' ') end--; else break; } System.out.println(strTr.substring(start,end+1)); } /* string 对象的创建: String name1="my";是放在内存常量区中 方式1: string对象是放在常量池中的一块内存地址 放置之前先检查该区域是否已经放有该常量,如果有,直接返回地址 方式2:String name3=new String("my"); 这个是放在堆内存里面的,创建出来的对象是不相等的,因为内存地址不一样 String特点: 1、由于字符串底层是由一个字符数组来实现的,所以String是不可变的 2、String 重写了Object的hashCode方法 == 表示比较的是地址 String 常用的方法: */ }
class Demo7 { public static void main(String[] agrs) { System.out.println("String的自然排序!"); String strA="abc"; String strB="bcd"; System.out.println(strA.compareTo(strB));//strA在strB的前面 (c-d)=-1返回负数 String strC="abc"; String strD="abcdw"; System.out.println(strC.compareTo(strD));//返回-2 :3-5 String strE="abc"; String strF="afd"; System.out.println(strE.compareTo(strF));//(b-f)=-4 String strG="dmmmabc"; String strH="afdmmmmmmmmmmmm"; System.out.println(strG.compareTo(strH));//(d-a)=3 } } /* compareTo方法 原理: 1、该方法的调用者在传递参数字符串的前面,返回负数 该方法的调用者在传递参数字符串的后面,返回正数 如果相等返回0 2、当调用者和参数只有一个字母,其实就是字母对应的码表的整数减法操作 比较规则: 1、两个字符串长度相等 比较的字符:找到最开始不同字符进行比较,相减返回 2、两个字符串长度不相等 有相同字符: 比较的两个字符串的长度 没有相同字符:比较最开始两个字符的 */
java String常见的处理的更多相关文章
- java string常见操作题
1. 每个基本类型封装类都有将string转换为基本数据类型的方法 对于非常大的数字请使用Long,代码如下 int age = Integer.parseInt("10"); ...
- java string常见操作(二)
- 从Java String实例来理解ANSI、Unicode、BMP、UTF等编码概念
转(http://www.codeceo.com/article/java-string-ansi-unicode-bmp-utf.html#0-tsina-1-10971-397232819ff9a ...
- Java基础常见英语词汇
Java基础常见英语词汇(共70个) ['ɔbdʒekt] ['ɔ:rientid]导向的 ['prəʊɡræmɪŋ]编程 OO: object ...
- java String.split()函数的用法分析
java String.split()函数的用法分析 栏目:Java基础 作者:admin 日期:2015-04-06 评论:0 点击: 3,195 次 在java.lang包中有String.spl ...
- 通过反编译深入理解Java String及intern(转)
通过反编译深入理解Java String及intern 原文传送门:http://www.cnblogs.com/paddix/p/5326863.html 一.字符串问题 字符串在我们平时的编码工作 ...
- Java OOM 常见情况
Java OOM 常见情况 原文:https://blog.csdn.net/qq_42447950/article/details/81435080 1)什么是OOM? OOM,全称“Out Of ...
- Java英文单词Java基础常见英语词汇
Java英文单词Java基础常见英语词汇(共70个) ...
- Java总结——常见Java集合实现细节(1)
Java提高——常见Java集合实现细节(1) 2018年04月18日 15:07:35 阅读数:25 集合关系图 Set和Map set代表一种集合元素无序.集合元素不可重复的集合 map代表一种由 ...
随机推荐
- asp net 编程问题 实现下一篇 和上一篇效果
首先是access数据库,有一个名为news的表,里面有三个字段,分别为id,classid 和name 其中id为主键,classid可以重复 现在有以下数据: id classid name 1 ...
- (转)wcf client与webservice通信(-)只修改配置文件而改变服务端
http://www.cnblogs.com/yiyisawa/archive/2008/12/16/1356191.html 问题: 假设有一个大型系统新版本使用wcf 作为服务端,生成wcf cl ...
- AspNetPager
AspNetPager使用方法引入dll <%@ Register assembly="AspNetPager" namespace="Wuqi.Webdiyer& ...
- (原创) ubuntu 12.04 install nvidia by the deb
先安装 驱动 1. sudo dpkg -i XXX.deb 2. sudo apt-get update 3. sudo apt-get install cuda 4. gedit ~/.bash ...
- html label 标签的 for 属性
如果您在 label 元素内点击文本,就会触发此控件.就是说,当用户选择该标签时,浏览器就会自动将焦点转到和标签相关的表单控件上. 有两种使用方法: 方法1 使用for属性 <label for ...
- (原)torch7中添加新的层
转载请注明出处: http://www.cnblogs.com/darkknightzh/p/6069627.html 参考网址: http://torch.ch/docs/developer-doc ...
- php,apache伪静态(1转)
1.检测Apache是否支持mod_rewrite通过php提供的phpinfo()函数查看环境配置,通过Ctrl+F查找到“Loaded Modules”,其中列出了所有apache2handler ...
- 使用div+iframe实现弹窗及弹出内容无法显示的解决
使用div+iframe实现弹窗 除了使用实际的弹出窗口,还可以使用控制一个div的display属性来模拟一个弹出窗口的操作,这里使用在Div里放一个iFrame的方式,主要考虑到可以在需要的时候加 ...
- Silverlight js html 相互调用
1.sl调用js 比如我们在页面中定义一个js函数: <script type="text/javascript"> function fnTest(ms ...
- 为什么说 Git 比 SVN 更好
为什么说 Git 比 SVN 更好 在版本控制系统的选型上,是选择Git还是SVN? 对于开源项目来说这不算问题.使用Git极大地提高了开发效率.扩大了开源项目的参与度. 增强了版本控制系统的安全性, ...