String的splic方法使用的注意事項

2021-08-18 12:39:20 字數 482 閱讀 9640

今天在專案中遇到了乙個平時不注意的問題,測的時候發現的,

string value = ";,canonical;,00000000000000000000000000000028;,canonical;,0;,0;,yes;,no;,yes;,yes;,;,;,;,;,";

string arr = value.split(";,");

我本以為得到的arr陣列長度是15;結果卻是10,造成我讀到陣列越界,之後看了splic方法原始碼,才發現該方法返回會先判斷陣列的最後一位是否是「」,是的話剔除最後乙個元素,繼續檢驗,直到不為「」為止。

下邊放上原始碼中判斷刪除的核心原始碼:

while (resultsize > 0 && matchlist.get(resultsize-1).equals(""))  

resultsize--;

因為很多前輩都發了splic的原始碼,這裡就不在寫了,避免侵權。

onActivityResult方法的使用

在進行介面間的跳轉和傳遞資料的時候,我們有的時候要獲得跳轉之後介面傳遞回來的狀態,資料等資訊。這個時候,我們不一定需要使用intent進行跳轉回原先設定的介面,而是使用onactivityresult方法就可以解決這個問題。原理如圖 我們這裡假設有a b兩個activity,由a跳轉到b,然後b返回...

onActivityResult方法的使用

自 在進行介面間的跳轉和傳遞資料的時候,我們有的時候要獲得跳轉之後介面傳遞回來的狀態,資料等資訊。這個時候,我們不一定需要使用intent進行跳轉回原先設定的介面,而是使用onactivityresult方法就可以解決這個問題。原理如圖 我們這裡假設有a b兩個activity,由a跳轉到b,然後b...

C 仿string實現的String方法

c 仿string實現的string方法 string.h include using namespace std class string 拷貝構造 string const string string string 過載等號運算子,接收的是c語言字串 string operator const ...