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代表一种由 ...
随机推荐
- (转)IIS7 下部署Asp.net应用
最近在部署一个ASP.NET的应用到IIS7中的时候,遇到了一些问题,现在把部署中的遇到的问题和部署步骤进行总结一下,本文中只涉及到ASP.NET的基本部署. 一. 部署环境 Windows 7 ...
- IIS负载均衡相关
1. IIS负载均衡 (比较简单的例子,能看到效果) 2.nginx+iis实现负载均衡 3.Windows平台分布式架构实践 - 负载均衡 4.Net分布式系统:Keepalived+LVS+Ngi ...
- log4j配置文件及nutch中的日志配置
使用slf4j作为日志系统时,由于slf4j只是一个接口,它需要一个具体实现来执行. 具体参考http://blog.csdn.net/jediael_lu/article/details/43854 ...
- 【Nutch基础教程之七】Nutch的2种运行模式:local及deploy
在对nutch源代码运行ant runtime后,会创建一个runtime的目录,在runtime目录下有deploy和local 2个目录. [jediael@jediael runtime]$ l ...
- 简单说pyglet.event
emitter,就是pyglet.event.EventDispatcher的子类, 负责发出事件的消息,并且规定了响应消息的函数名. class Consumer(pyglet.event.Even ...
- document.body.scrollTop vs document.documentElement.scrollTop && document.body.scrollHeight vs document.documentElement.scrollHeight
FireFox下 document.body.scrollHeight || document.documentElement.scrollHeight;//等价 document.body.scro ...
- Ubuntu下配置NFS服务
Table of Contents 1.下载相关软件 2.建立共享目录 3.修改该配置文件 4.重启服务 5.测试服务器 6.测试客户端 测试系统:Ubuntu8.04 1.下载相关软件 使用如下命令 ...
- EXTJS 4.2 实现 gridpanel 鼠标悬停单元格以提示信息的方式显示单元格内容。
由于gridpanel的单元格里的文字太多时候,都由省略号代替,就想实现如题的功能,经过反复实验,终于搞定了!直接上代码: me.on('itemmouseenter', function (view ...
- Php开发完全跨站点跨域名单点(SSO)同步登录和注销
From:http://www.cnblogs.com/JinkoWu/p/5056646.html 先来说说什么是单点登录(SSO).来自百科的介绍:SSO英文全称Single Sign On,单点 ...
- 第10讲- UI线程阻塞及其优化
第10讲UI线程阻塞及其优化 .UI 阻塞demo (首先在activity_main.xml中放置两个button,分别命名为button1,button2) //首先设置一个button1用来进行 ...