1. 程式人生 > >String的indexOf(),lastIndexOf(),substring(int x),substring(int x , int y)方法 StringBuffer

String的indexOf(),lastIndexOf(),substring(int x),substring(int x , int y)方法 StringBuffer

package springTest2;


public class Test {

public static void main(String[] args) {
String s="fidSStrr.idg";
  String a = new String("hello");
  //像a=new string("hello");建立了a物件好像就不能對這個字串物件操作了,變成"hell"就是a指向另外一個物件了
String a1=a.substring(0, 4);
System.out.println(a1);//hell
System.out.println("a與a1是否相等:"+(a==a1));//false 
  
  StringBuffer b=new StringBuffer("world");
  
    StringBuffer b1 = b.deleteCharAt(4);     //存在繼承關係且屬於同一型別,才可以進行強轉       
         

      
      String b2 = b1.toString(); //將StringBuffer轉化成  String,相當於隔開StringBuffer的記憶體空間,又建立了一個新的記憶體空間存String物件
      
      System.out.println("String型別b2的地址值:"+(b2.hashCode()));
      System.out.println("StringBuffer型別b的地址值:"+(b.hashCode()));
      System.out.println(b2==(b.toString()));//String型別與StringBuffer型別不是同一個物件,記憶體地址值空間不同

   /**
    * 用StringBuffer操作字串,不會建立新的字串物件,還是在原來的字串上進行修改。
    */
      System.out.println(b1);
    System.out.println(b1.hashCode()+"------------"+b.hashCode());//修改後的字串物件地址值沒有改變,還是原來的字串物件。
    System.out.println("b1與b是否相等:"+(b==b1));
   
//從頭開始查詢是否存在指定的字元
System.out.println(s.indexOf("d"));//2

//從第4個字元位置開始往後繼續查詢S,包含當前位置
System.out.println(s.indexOf("S", 3));//3

//若指定字串中沒有該字元則返回-1
System.out.println(s.indexOf("0"));//-1

//從指定的索引處開始向後搜尋,返回在此字串中最後一次出現的指定字元的索引
System.out.println(s.lastIndexOf("r"));//7


//substring(int x);該方法是獲得將原字串從頭開始擷取長度為x的字元後剩餘的新字串。
String str = s.substring(s.lastIndexOf("i"));//9
System.out.println("str:"+str);//idg

//substring(int x , int y);該方法是獲得從原字串擷取索引從x到y(不含y)的字元(包含x不包含y的)組成的字串片段。
String str2 = s.substring(3,5);
 String[] s2 = s.split("S");
System.out.println(str2.hashCode()+">>>>>>>>>>>>"+str.hashCode());//2656>>>>>>>>>>>>>104108
System.out.println(str2==str);//false
System.out.println("str2:"+str2); //SS
 
/***
* public static void main(String[] args) {
*   Students s1=new Students();
*   Students s2=new Students();
*  Students a=s1;    //a 是一個引用變數 只有new 才會在堆中建立一個物件

*  Students a=s2;
*  
*  
*  擷取獲得新字串和字串轉化成陣列,這兩種方式都是獲得了新的String物件,即兩個不同的String物件。(地址值改變)
     *  像a=new string("hello");建立了a物件好像就不能對這個字串物件操作了,變成"hell"就是a指向另外一個物件了
*  }

*/
}
}

相關推薦

String的indexOf(),lastIndexOf(),substring(int x),substring(int x , int y)方法 StringBuffer

package springTest2; public class Test {public static void main(String[] args) {String s="fidSStrr.idg";  String a = new String("hello");  //像a=new string(

cocos2d-x型別轉換(CCstring int string char UTF-8互轉)

====================================== string 轉 CCStringstd::string str = "123"; CCString* ns=CCString::createWithFormat("%s",str.c_str()); CCString 轉

編程練習效果圖:XXXX年XX月X日 星期X--班級總分為:81

javascrip index 星期 根據 好處 ++ head ear esc 編程練習 某班的成績出來了,現在老師要把班級的成績打印出來。 效果圖: XXXX年XX月X日 星期X--班級總分為:81 格式要求: 1、顯示打印的日期。 格式為類似“XXXX年XX月XX

實踐補充 Installing Tomcat 7.0.x on OS X

ocp npr epc cgi security hssf xca 之前 epub 我的 Mac 下是1.6的 SDK,下載 Tomcat 8.0 執行後,訪問 http://127.0.0.1:8080 並無反應,並且關閉腳本會報錯 :Unsupported major

Python3.x和Python2.x的區別

java amd ued uoj icc 5% ros vma .com %5BjavaSE%5D%20%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%BA%8C%E5%8F%89%E6%9F%A5%E6%89%BE%E6%A0%91-%E6

codevs 2038 香甜的黃油x+luogu P1828 x

標簽 alt memset sin can cli 一個 event efault 題目描述 Description 農夫John發現做出全威斯康辛州最甜的黃油的方法:糖。把糖放在一片牧場上,他知道N(1<=N<=500)只奶牛會過來舔它,這樣就能做出

hdu 4389 X mod f(x) 數位dp

滿足 accept sta -a str += tail mar mission 題鏈:http://acm.hdu.edu.cn/showproblem.php?pid=4389 X mod f(x) Time Limit: 4000/2000 MS (Java/

Python 2.7.x 和 3.x 版本區別小結

pythonpython現在很火,最近花了些時間去了解了一下,最初了解的是2.7.x版本,感覺,從書寫上是很不習慣,少了一雙大概號,取而代之的是縮進;然後跟kotlin和swift一樣省去了每行的分號,象我們這種分號強迫癥的人真心的不習慣;還有!True的條件改成not True、while後面可以跟else

記錄:Ubuntu下升級Python從2.x到3.x

終端 http 方法 ubun 可能 var png 解鎖 建立 一、安裝Python3 在Ubuntu中的終端輸入:sudo apt-get install python3 提示資源被鎖住,可能有另外一個程序在占用此資源。 解決方法:輸入以下指令解鎖資源 sudo rm

Spark2.x 與 Spark1.x 關系

性能提升 courses structure tex data frame datasets spark1.x 基本 Spark2.x 引入了很多優秀特性,性能上有較大提升,API 更易用。在“編程統一”方面非常驚艷,實現了離線計算和流計算 API 的統一,實現了 Spar

java及spark2.X連接mongodb3.X單機或集群的方法(帶認證及不帶認證)

連接 通過 ava 更新數據 ati out client data 插入數據 首先,我們明確的是訪問Mongos和訪問單機Mongod並沒有什麽區別。接下來的方法都是既可以訪問mongod又可以訪問Mongos的。 另外,讀作java寫作scala,反正大家都看得懂...

MyBatis 學習總結 05 Mybatis3.x與Spring3.x整合 OLD

into 包括 mybatis 方法 成對 nec 自動化工具 tty red   本文通過加載mybatis-configuration.xml 文件來產生SqlSessionFactory,然後通過SqlSessionFactory去產生sqlSession,然後在通過

CodeIgniter 2.x和3.x修改默認控制器問題解答

控制器 修改 brush 並不會 有時 logs test home fig 首先明確一點,CodeIgniter框架的2.x和3.x版本中修改默認控制器是有一點區別的 但相同的操作都是修改application/config/routes.php $route[‘def

Python 2.7.x 和 3.x 版本的語法區別

ast ssa pan att 可叠代對象 abcde unicode 用戶 列表 <__future__模塊> Python 3.x引入了一些與Python 2不兼容的關鍵字和特性,在Python 2中,可以通過內置的__future__模塊導入這些新

centos6.x系統內核升級的方法

centos6.x系統內核升級的方法centos6.x系統內核升級的方法方法一:先確定系統版本和內核版本[root@ceshiji ~]# uname -r2.6.32-573.el6.x86_64[root@ceshiji ~]# cat /etc/issueRed Hat Enterprise Linux

數據類型:int、bool、str、公共方法

數據 -s 表示 print itl 就刪除 count 取數 索引 int:表示數字,1,2,3 bool:布爾值,分為 True,False,用於用戶進行判斷 str:字符串,存儲少量數據,用於操作 list:列表,用於儲存大量數據,可以是數字、字符串、列表、元祖 元祖

python2.X與python3.X爬蟲常用的模塊變化對應

lib req lencod jar pan erro 變化 size -s python2 python3 import urllib2 import urllib.request,urllib.error import urllib.request,url

x:key和x:name

pos 定義 resource 存在 class clas 唯一標識 aml ces x:Key用在xaml Resources,ResourceDictionary需要key來訪問x:Name用在ResourceDictionary以外任何地方,可以使用x:Name在co

Centos7下python2.x 和python3.x共存

help arc 3.x lsd its oct 2.7 pil 安裝路徑 摘要 目前centos7系統自帶的Python版本是2.7.5,這個版本唄系統中的很多程序鎖依賴,所有我們不可能去刪除它。如果這個時候我們還想用python3.x 版本,其實這裏有兩個方式,一個是

Python2.X與Python3.X的區別

blog 還在 height 很多 2.7 基本使用 所有 只能輸入數字 asc   2014年11月,Python2.7將在2020年停止的消息發布,並且不會再發布2.8版本,建議用戶盡量升級至3.4以,上版本,原因是Python在最初發布時,在某些設計上存在一些缺陷,比