练习如何创建一个类。

 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类的用法的更多相关文章

  1. 标准C++中的string类的用法总结

    标准C++中的string类的用法总结 相信使用过MFC编程的朋友对CString这个类的印象应该非常深刻吧?的确,MFC中的CString类使用起来真的非常的方便好用.但是如果离开了MFC框架,还有 ...

  2. VC++ 标准C++中的string类的用法总结

    相信使用过MFC编程的朋友对CString这个类的印象应该非常深刻吧?的确,MFC中的CString类使用起来真的非常的方便好用.但是如果离开了MFC框架,还有没有这样使用起来非常方便的类呢?答案是肯 ...

  3. [C++][语言语法]标准C++中的string类的用法总结

    转自:http://www.cnblogs.com/xFreedom/archive/2011/05/16/2048037.html 要想使用标准C++中string类,必须要包含 #include ...

  4. 标准C++中string类的用法

    转自博客园:http://www.cnblogs.com/xFreedom/archive/2011/05/16/2048037.html 相信使用过MFC编程的朋友对CString这个类的印象应该非 ...

  5. 标准C++中的string类的用法总结(转)

    http://www.cnblogs.com/xFreedom/archive/2011/05/16/2048037.html 相信使用过MFC编程的朋友对CString这个类的印象应该非常深刻吧?的 ...

  6. 【C++】C++中的string类的用法总结

    相信使用过MFC编程的朋友对CString这个类的印象应该非常深刻吧?的确,MFC中的CString类使用起来真的非常的方便好用.但是如果离开了MFC框架,还有没有这样使用起来非常方便的类呢?答案是肯 ...

  7. string类的用法笔记

    要想使用标准C++中string类,必须要包含 #include <string>// 注意是<string>,不是<string.h>,带.h的是C语言中的头文件 ...

  8. [转]标准C++中的string类的用法总结

    原文地址:http://www.cnblogs.com/xFreedom/archive/2011/05/16/2048037.html 相信使用过MFC编程的朋友对CString这个类的印象应该非常 ...

  9. 标准C++中string类的用法总结

    相信使用过MFC编程的朋友对CString这个类的印象应该非常深刻吧?的确,MFC中的CString类使用起来真的非常的方便好用.但是如果离开了MFC框架,还有没有这样使用起来非常方便的类呢?答案是肯 ...

随机推荐

  1. Qt Creator 下启动vim模式后,运行快捷键Ctrl+R失效解决方案

    首先开启vim后,Ctrl+R无法用 解决: 工具 -> 选项->FakeVim 转到Ex Command Mapping 搜索Run 底栏Regular expression 输入run ...

  2. 关于axios跨域带cookie

    axios  设置 withCredentials :true $u = $_SERVER['HTTP_REFERER'];$u = preg_replace('#/$#', '', $u);head ...

  3. python 终极篇 --- django 路由系统

                          URL配置                        基本格式: from django.conf.urls import url urlpattern ...

  4. Python基础 之 数据类型

    数据类型 一.运算符 算数运算a = 10 * 10赋值运算a = a + 1 a+=1 布尔值:True 真 False 假 if True: pass while True: pass v = n ...

  5. 【Linux 运维】 Centos7.x 系统修复模式

    一.linux的运行级别: 运行级别就是来确定系统启动时到底启动那个服务. linux默认有7个运行级别: 0 关机 1 单用户模式,用于系统修复 2 不完全的命令模式,不含NFS服务 3 完全的命令 ...

  6. 基于AdaBoost算法——世纪晟结合Haar-like特征训练人脸检测识别

      AdaBoost 算法是一种快速人脸检测算法,它将根据弱学习的反馈,适应性地调整假设的错误率,使在效率不降低的情况下,检测正确率得到了很大的提高.   系统在技术上的三个贡献: 1.用简单的Haa ...

  7. .Net并行编程 - 并行任务基础知识

    在微软的.NET Framework中,任务是通过System.Threading.Tasks命令空间中的Task类来实现的.它的静态属性Task.Factory是TaskFactory类的一个实例, ...

  8. nodejs基础学习

    一:复制官网的代码,建立一个简单的服务器 const http = require('http'); const hostname = '127.0.0.1'; const port = 3000; ...

  9. js随机数算法

    function rnd( seed ){ seed = ( seed * 9301 + 49297 ) % 233280; //为何使用这三个数? return seed / ( 233280.0 ...

  10. Python中package的导入语法

    在Python中,一个目录被称为一个package.import和from语法除了导入module文件之外,还可以导入package,语法如下: # import语法 import dir1.dir2 ...