String类的用法
练习如何创建一个类。
package create;
public class Newstring {
String aa;
public Newstring() {
// TODO Auto-generated constructor stub
}
public Newstring(char a[]){
aa=new String(a);
}
public Newstring(char a[],int offset,int length){
aa=new String(a,offset,length);
}
public Newstring(String a){
// aa=new String(a);//可不可以让两个字符串直接相等呢?可以
aa=a;
}
public void printString(){
System.out.println("字符串是"+aa);
}
}
然后,关于String类的一大堆用法就出来了。
package create;
public class Usestring {
public Usestring() {
// TODO Auto-generated constructor stub
char c[]={'t','o','m','c','a','t'};
Newstring a=new Newstring(c,0,4);
a.printString();
String s="bury me in satin";
Newstring b=new Newstring(s);//.toCharArray(),0,4);
b.printString();
}
public void show(String a,String b,int begin,int end){
int length1=a.length();
int where1=a.indexOf(b);
int where2=a.lastIndexOf(b);
char c1=a.charAt(begin);
String str1=a.trim();//忽略前导空格和尾部空格
String str2=a.toUpperCase();
String str3=a.replaceAll("abc", "123");
String str4=a.substring(begin, end);
boolean be=a.startsWith(" ");
boolean en=a.endsWith("iop");
boolean issame=a.equalsIgnoreCase(b);
int cp="abc".compareToIgnoreCase(b);
String[] str5=a.split("bc");
System.out.println("字符串长度"+length1+"\n"+
"找到字符串位置(匹配)"+where1+" "+where2+"\n"+
"在"+(begin+1)+"处"+c1+"\n"+
str1+" \n"+str2+" \n"+str3+" \n"+str4+"\n"+
be+"\n"+en+"\n"+issame+"\n"+cp+"\n");
for(int i=0;i<str5.length;i++){
System.out.println(" "+str5[i]);
}
}
}
这个里面还有个判断String对象是否相等的用法,一般,判断String对象都是用equals()方法,而不用"=="比较运算符。
原因是什么呢?
假设有两个基本数据类型,我们都知道这是可以用equals判断的,可是String是对象啊,是不一样滴。
基本数据类型地址里面放的就是数据,比比就知道是什么了,而,对象的内存地址里面放的是引用,私以为用c的思想来说就是指针,指到对象放的地方(可以这么腹诽,程度太低,按着这个理解可以,真实情况不知道哦)。
那么比较String类的对象就只能用String类重写Object类的equals方法了,他会深入到本质的判断对象的内容是否一样的呢。
不扯太多,大牛的博客写得超级好,自己百度吧,这个挺重要的哦。
主类
package mainfunction; import create.*;
//import create.Newstring;
public class Main { /**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Usestring us=new Usestring();
us.show(" qweabcrty abcuiop", "abc", 0, 9);
} }
String类的用法的更多相关文章
- 标准C++中的string类的用法总结
标准C++中的string类的用法总结 相信使用过MFC编程的朋友对CString这个类的印象应该非常深刻吧?的确,MFC中的CString类使用起来真的非常的方便好用.但是如果离开了MFC框架,还有 ...
- VC++ 标准C++中的string类的用法总结
相信使用过MFC编程的朋友对CString这个类的印象应该非常深刻吧?的确,MFC中的CString类使用起来真的非常的方便好用.但是如果离开了MFC框架,还有没有这样使用起来非常方便的类呢?答案是肯 ...
- [C++][语言语法]标准C++中的string类的用法总结
转自:http://www.cnblogs.com/xFreedom/archive/2011/05/16/2048037.html 要想使用标准C++中string类,必须要包含 #include ...
- 标准C++中string类的用法
转自博客园:http://www.cnblogs.com/xFreedom/archive/2011/05/16/2048037.html 相信使用过MFC编程的朋友对CString这个类的印象应该非 ...
- 标准C++中的string类的用法总结(转)
http://www.cnblogs.com/xFreedom/archive/2011/05/16/2048037.html 相信使用过MFC编程的朋友对CString这个类的印象应该非常深刻吧?的 ...
- 【C++】C++中的string类的用法总结
相信使用过MFC编程的朋友对CString这个类的印象应该非常深刻吧?的确,MFC中的CString类使用起来真的非常的方便好用.但是如果离开了MFC框架,还有没有这样使用起来非常方便的类呢?答案是肯 ...
- string类的用法笔记
要想使用标准C++中string类,必须要包含 #include <string>// 注意是<string>,不是<string.h>,带.h的是C语言中的头文件 ...
- [转]标准C++中的string类的用法总结
原文地址:http://www.cnblogs.com/xFreedom/archive/2011/05/16/2048037.html 相信使用过MFC编程的朋友对CString这个类的印象应该非常 ...
- 标准C++中string类的用法总结
相信使用过MFC编程的朋友对CString这个类的印象应该非常深刻吧?的确,MFC中的CString类使用起来真的非常的方便好用.但是如果离开了MFC框架,还有没有这样使用起来非常方便的类呢?答案是肯 ...
随机推荐
- 韦大仙--python对文件操作
文件操作: 对文件操作流程 打开文件,得到文件句柄并赋值给一个变量 通过句柄对文件进行操作 关闭文件 现有文件如下 Somehow, it seems the love I knew was alwa ...
- mysql新手入门随笔4
40.子查询:出现在其他SQL语句里的SELECT语句 例如:SELECT sname,mark FROM student WHERE mark = (SELECT max(mark) FROM st ...
- html简约风用户登录界面网页制作html5-css-jquary-学习模版
2018--12-12 喜迎双十二,咳咳,,,,我不是打广告哈,购物的节日也不要忘记学习. 大家好,我又来了. 今天抽出来空把自己的学习心得给大家分享,这是一个可开发可扩展的用户登录界面,用于开发学习 ...
- cronolog:日志分割工具
一. 引言 因为tomcat的catalina.out日志无法按照日期自动创建,因此采用cronnlog分割. 二. 安装与配置 1.安装cronolog: yum install -y cronol ...
- 【第三章】Shell 变量的数值计算
一.算数运算符 shell中常见的算术运算符: shell中常见的算术命令: 1. 整数运算 方法一:expr expr命令就既可以用于整数运算,也可以用于相关字符串长度.匹配等的运算处理: exp ...
- [2017 - 2018 ACL] 对话系统论文研究点整理
(论文编号及摘要见 [2017 ACL] 对话系统. [2018 ACL Long] 对话系统. 论文标题[]中最后的数字表示截止2019.1.21 google被引次数) 1. Domain Ada ...
- 使用Promise链式调用解决多个异步回调的问题
使用Promise链式调用解决多个异步回调的问题 比如我们平常经常遇到的一种情况: 网站中需要先获取用户名,然后再根据用户名去获取用户信息.这里获取用户名getUserName()和获取用户信息get ...
- Thunder团队第六周 - Scrum会7
Scrum会议7 小组名称:Thunder 项目名称:i阅app Scrum Master:杨梓瑞 工作照片: 参会成员: 王航:http://www.cnblogs.com/wangh013/ 李传 ...
- 求gcd(最大公因数),lcm(最小公倍数)模板
gcd(最大公因数),lcm(最小公倍数) #include<iostream> using namespace std; int gcd(int a,int b)//辗转相除法(欧几里德 ...
- Spring Boot(五)启动流程分析
学习过springboot的都知道,在Springboot的main入口函数中调用SpringApplication.run(DemoApplication.class,args)函数便可以启用Spr ...