zoukankan      html  css  js  c++  java
  • String类的用法

     练习如何创建一个类。

     1 package create;
     2 
     3 public class Newstring {
     4     String aa;
     5     public Newstring() {
     6         // TODO Auto-generated constructor stub
     7     }
     8     public Newstring(char a[]){
     9          aa=new String(a);
    10     }
    11     public Newstring(char a[],int offset,int length){
    12          aa=new String(a,offset,length);
    13     }
    14     public Newstring(String a){
    15         // aa=new String(a);//可不可以让两个字符串直接相等呢?可以
    16         aa=a;
    17     }
    18     public void printString(){
    19         System.out.println("字符串是"+aa);
    20     }
    21 }

    然后,关于String类的一大堆用法就出来了。

     1 package create;
     2 
     3 public class Usestring {
     4     public Usestring() {
     5         // TODO Auto-generated constructor stub
     6         char c[]={'t','o','m','c','a','t'};
     7         Newstring a=new Newstring(c,0,4);
     8         a.printString();
     9         String s="bury me in satin";
    10         Newstring b=new Newstring(s);//.toCharArray(),0,4);
    11         b.printString();
    12     }
    13     public void show(String a,String b,int begin,int end){
    14         int length1=a.length();
    15         int where1=a.indexOf(b);
    16         int where2=a.lastIndexOf(b);
    17         char c1=a.charAt(begin);
    18         
    19         String str1=a.trim();//忽略前导空格和尾部空格
    20         String str2=a.toUpperCase();
    21         String str3=a.replaceAll("abc", "123");
    22         String str4=a.substring(begin, end);
    23         boolean be=a.startsWith("  ");
    24         boolean en=a.endsWith("iop");
    25         boolean issame=a.equalsIgnoreCase(b);
    26         int cp="abc".compareToIgnoreCase(b);
    27         String[] str5=a.split("bc");
    28         
    29         System.out.println("字符串长度"+length1+"
    "+
    30                            "找到字符串位置(匹配)"+where1+" "+where2+"
    "+
    31                            "在"+(begin+1)+"处"+c1+"
    "+
    32                            str1+" 
    "+str2+" 
    "+str3+" 
    "+str4+"
    "+
    33                            be+"
    "+en+"
    "+issame+"
    "+cp+"
    ");
    34         for(int i=0;i<str5.length;i++){
    35             System.out.println(" "+str5[i]);
    36         }
    37     }
    38 }

    这个里面还有个判断String对象是否相等的用法,一般,判断String对象都是用equals()方法,而不用"=="比较运算符。

    原因是什么呢?

    假设有两个基本数据类型,我们都知道这是可以用equals判断的,可是String是对象啊,是不一样滴。

    基本数据类型地址里面放的就是数据,比比就知道是什么了,而,对象的内存地址里面放的是引用,私以为用c的思想来说就是指针,指到对象放的地方(可以这么腹诽,程度太低,按着这个理解可以,真实情况不知道哦)。

    那么比较String类的对象就只能用String类重写Object类的equals方法了,他会深入到本质的判断对象的内容是否一样的呢。

    不扯太多,大牛的博客写得超级好,自己百度吧,这个挺重要的哦。

    主类

     1 package mainfunction;
     2 
     3 import create.*;
     4 //import create.Newstring;
     5 public class Main {
     6 
     7     /**
     8      * @param args
     9      */
    10     public static void main(String[] args) {
    11         // TODO Auto-generated method stub
    12         Usestring us=new Usestring();
    13         us.show("  qweabcrty  abcuiop", "abc", 0, 9);
    14     }
    15 
    16 }
    贵有恒何必三更眠五更起,最无益只怕一日曝十日寒。
  • 相关阅读:
    nginx反向代理架构与安装配置(一)
    nginx反向代理部署与演示(二)
    php的opcode缓存原理
    php加速缓存器opcache,apc,xcache,eAccelerator
    php的高性能日志系统 seaslog 的安装与使用
    centos7下源码安装mysql5.7.16
    php 使用html5 XHR2 上传文件 进度显示
    php下ajax的文件切割上传
    php 输出缓冲 Output Control
    php单点登陆简单实现 (iframe方式)
  • 原文地址:https://www.cnblogs.com/carazk/p/5844444.html
Copyright © 2011-2022 走看看