substring講解:
創(chuàng)新互聯(lián)建站是一家專業(yè)提供石景山企業(yè)網(wǎng)站建設(shè),專注與成都網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站、H5網(wǎng)站設(shè)計(jì)、小程序制作等業(yè)務(wù)。10年已為石景山眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站制作公司優(yōu)惠進(jìn)行中。
s=s.substring(int begin);截取掉s從首字母起長度為begin的字符串,將剩余字符串賦值給s;
s=s.substring(int begin,int end);截取s中從begin開始至end結(jié)束時(shí)的字符串,并將其賦值給s;
split講解:
java.lang.string.split
split 方法
將一個(gè)字符串分割為子字符串,然后將結(jié)果作為字符串?dāng)?shù)組返回。
stringObj.split([separator,[limit]])
參數(shù)
stringObj?
必選項(xiàng)。要被分解的 String 對(duì)象或文字。該對(duì)象不會(huì)被 split 方法修改。
separator?
可選項(xiàng)。字符串或 正則表達(dá)式 對(duì)象,它標(biāo)識(shí)了分隔字符串時(shí)使用的是一個(gè)還是多個(gè)字符。如果忽
略該選項(xiàng),返回包含整個(gè)字符串的單一元素?cái)?shù)組。?
limit
可選項(xiàng)。該值用來限制返回?cái)?shù)組中的元素個(gè)數(shù)。
說明
split 方法的結(jié)果是一個(gè)字符串?dāng)?shù)組,在 stingObj 中每個(gè)出現(xiàn) separator 的位置都要進(jìn)行分解
。separator 不作為任何數(shù)組元素的部分返回。
split 的實(shí)現(xiàn)直接調(diào)用的 matcher 類的 split 的方法?!?. ”在正則表達(dá)式中有特殊的含義,因此我們使用的時(shí)候必須進(jìn)行轉(zhuǎn)義。
Java代碼
public?static?void?main(string[]?args)?{
string?value?=?"192.168.128.33";
string[]?names?=?value.split("\\.");
for?(int?i?=?0;?i??names.length;?i++)?{
system.out.println(names[i]);
}}
如果用豎線“|”分隔的話,將出現(xiàn)不可得到的結(jié)果,必須改為“\\|”
如果這個(gè)java代碼里面有多個(gè)類,每個(gè)類放到一個(gè)java文件中。如果只有一個(gè)類,那就沒辦法了。只能通過優(yōu)化業(yè)務(wù)邏輯,來減少代碼。
一般只要代碼格式、注釋規(guī)范,長一點(diǎn)并不會(huì)影響可讀性。倒是不好的業(yè)務(wù)邏輯會(huì)影響執(zhí)行的性能。
import?java.util.Arrays;
public?class?Test?{
public?static?void?main(String[]?args)?{
String[]?str?=?{?"112",?"2321",?"3231",?"4443",?"5321"?};
String[]?sub1?=?Arrays.copyOf(str,?3);
String[]?sub2?=?Arrays.copyOfRange(str,?3,?str.length);
System.out.println(Arrays.deepToString(sub1));
System.out.println(Arrays.deepToString(sub2));
}
}
運(yùn)行結(jié)果
哈,你的寫在一起是沒問題的.
在Clean code(整潔代碼)里面,提供把功能拆分和抽取,比如你的方法里面有一個(gè)判斷字符串是否為空的代碼:
if(null==str||"".equals(str.trim()){....}
而你這一段代碼,在其他地方也經(jīng)常復(fù)用,那么你就可以抽取出去成為一個(gè)工具類了
public?class?StrUtil{
public?boolean?isEmpty(String?str){
return?null==str?||"".equals(str.trim());
}
}
那么在你之前的代碼里面可以使用,以下的來代替
if(StrUtil.isEmpty(str)){
....
}
這樣子,你的代碼重用性和可閱讀性就提高不少了.
要怎樣子才抽取出去呢? 最簡單的2點(diǎn)
同一段代碼多次重用.
職能單一,一個(gè)方法只實(shí)現(xiàn)一種功能
詳細(xì)資料,推薦書籍:CleanCode代碼整潔之道
java拆分字符串使用string類的spilt方法,針對(duì)某個(gè)分隔符來分割一個(gè)字符串,示例如下:
public class StringSplit {
public static void main(String[] args) {
String sourceStr = "1,2,3,4,5";//一個(gè)字符串
String[] sourceStrArray = sourceStr.split(",");//分割出來的字符數(shù)組
for (int i = 0; i sourceStrArray.length; i++) {
System.out.println(sourceStrArray[i]);
}
// 最多分割出3個(gè)字符串
int maxSplit = 3;
sourceStrArray = sourceStr.split(",", maxSplit);
for (int i = 0; i sourceStrArray.length; i++) {
System.out.println(sourceStrArray[i]);
}
}
}
輸出結(jié)果為:
2
4
1
3,4,5