今天在專案中遇到了乙個平時不注意的問題,測的時候發現的,
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 ...