重慶分公司,新征程啟航
為企業提供網站建設、域名注冊、服務器等服務
為企業提供網站建設、域名注冊、服務器等服務
在Java中,檢測一個數組是否包含某一個數據,通常有四種方法:
專注于為中小企業提供成都網站制作、網站建設服務,電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業吐魯番免費做網站提供優質的服務。我們立足成都,凝聚了一批互聯網行業人才,有力地推動了上千企業的穩健成長,幫助中小企業通過網站建設實現規模擴充和轉變。
(1)for循環
(2)轉換為List,調用Arrays.asList(arr).contains方法
(3)使用Set
(4)使用Arrays.binarySearch()方法
下面為上述四種方法的具體代碼實現:
1、使用for循環
publicstaticbooleanuseLoop(String[]arr,StringtargetValue){
for(Strings:arr){
if(s.equals(targetValue))
returntrue;
}
returnfalse;
}
2、轉換為List,調用Arrays.asList(arr).contains方法
publicstaticbooleanuseList(String[]arr,StringtargetValue){
returnArrays.asList(arr).contains(targetValue);
}
3、使用Set
publicstaticbooleanuseSet(String[]arr,StringtargetValue){
SetStringset=newHashSetString(Arrays.asList(arr));
returnset.contains(targetValue);
}
4、使用Arrays.binarySearch()方法
特別說明:binarySearch()二分查找僅適用于有序數組,如果不是有序數組,則報異常
publicstaticbooleanuseArraysBinarySearch(String[]arr,StringtargetValue){
inta=Arrays.binarySearch(arr,targetValue);
if(a0){
returntrue;
}else{
returnfalse;
}}
擴展資料:
Java種List列表的contains方法:
該方法是通過遍歷集合中的每一個元素并用equals方法比較是否存在指定的元素。
publicbooleancontains(Objecto){
IteratorEit=iterator();
if(o==null){
while(it.hasNext())
if(it.next()==null)
returntrue;
}else{
while(it.hasNext())
if(o.equals(it.next()))
returntrue;
}
returnfalse;
}
參考資料來源:Java官網-API-Arrays
參考資料來源:Java官網-API-InterfaceList
你這說的太籠統了,應該具體些。
有了Java代碼之后
1、可以在代碼中寫些測試的方法,把你想要驗證的東西,輸出看一下。
2、可以用Debug的形式,跟蹤代碼執行,驗證程序的邏輯是否正確。
3、利用JUnit寫斷言,測試結果
1、Jasmine
Jasmine是一個行為驅動的測試開發框架,用于對JavaScript代碼進行測試。它不依賴其它任何JavaScript框架,也不需要DOM。它的語法簡潔、明確,寫測試非常容易。
2、Mocha
Mocha是一個功能豐富的JavaScript測試框架,既運行于Node.js環境中,也可以運行于瀏覽器環境中。Mocha以串行方式運行測試,能做出靈活而準確的報告,也能將測試中未捕捉的異常映射到正確的測試用例。
3、Chai
Chai是個支持BDD/TDD的庫,可用于node和瀏覽器,可配合任何JavaScript測試框架使用。
4、QUnit
QUnit是個功能強大又易于使用的JavaScript單元測試框架。jQuery、jQueryUI和jQueyMobile項目都使用這個框架,它能測試普通的JavaScript代碼。
5、Sinon
Sinon.JS為JavaScript提供了獨立的spies、stubs和mocks[譯者注:Spy、Stub和Mock都是測試專用名詞,Stub常被翻譯為樁,spies是Spy的復數形式,是一種可以監視方法、調用和參數的技術]。它不依賴任何東西,可以配合任何單元測試框架工作。
6、Karma
Karma是針對連通瀏覽器的一個框架無關測試運行器。每一個測試結果對應每個瀏覽器,它的測試和顯示都是通過命令行暴露給開發者的,這樣他們就可以看到瀏覽器測試的通過或失敗。
7、Selenium
Selenium有一個簡單的目標:就是自動化瀏覽器。它主要用于自動化測試web應用程序,但是只是很簡單地考慮到了基于網絡的管理任務。
8、WebdriverIO
WebdriverIO允許用戶僅添加幾行代碼就可以控制瀏覽器或移動應用程序,使測試代碼更簡單、簡潔、易讀。集成的TestRunner同樣允許你以同步的方式調用異步命令,這樣你不需要關心如何處理Promise以避免競態條件。此外,它取消了所有的繁瑣的設置工作,并且會為您管理的Selenium會話。
9、Nightwatch
Nightwatch.js是一個易于使用的Node.js,它是為基于瀏覽器的app和網站設計的終端到終端(E2E)的測試方法。它使用強大的W3CWebDriverAPI,用于在DOM元素上執行命令和斷言。
10、PhantomCSS
PhantomCSS獲得CasperJS捕獲的屏幕截圖,并使用Resemble.js將其與基準圖進行對比,以測試RGB像素差異。java課程發現PhantomCSS然后生成圖像差異對比,用于幫助您找到原因。
11、PhantomFlow
PhantomFlow使用決策樹提供UI測試方案。針對PhantomJS,CasperJS和PhantomCSS的NodeJS包裝器——PhantomFlow能夠流暢地在代碼中描述用戶流程,同時生成用于可視化的結構化樹數據。
單元測試是我們在軟件開發過程中經常用到的一種軟件測試的方法,而今天我們就一起來了解一下,一個好的單元測試都是如何來編輯完成的。
1.使用框架來用于單元測試Java提供了若干用于單元測試的框架。
TestNG和JUnit是流行的測試框架。
JUnit和TestNG的一些重要功能:易于設置和運行。
支持注釋。
允許忽略或分組并一起執行某些測試。
支持參數化測試,即通過在運行時指定不同的值來運行單元測試。
通過與構建工具,如Ant,Maven和Gradle集成來支持自動化的測試執行。
EasyMock是一個模擬框架,是單元測試框架,如JUnit和TestNG的補充。
EasyMock本身不是一個完整的框架。
它只是添加了創建模擬對象以便于測試的能力。
例如,我們想要測試的一個方法可以調用從數據庫獲取數據的DAO類。
在這種情況下,EasyMock可用于創建返回硬編碼數據的MockDAO。
這使我們能夠輕松地測試我們意向的方法,而不必擔心數據庫訪問。
2.謹慎使用測試驅動開發!測試驅動開發(TDD)是一個軟件開發過程,在這過程中,在開始任何編碼之前,我們基于需求來編寫測試。
由于還沒有編碼,測試初會失敗。
然后寫入小量的代碼以通過測試。
然后重構代碼,直到被優化。
目標是編寫覆蓋所有需求的測試,而不是一開始就寫代碼,卻可能甚至都不能滿足需求。
TDD是偉大的,因為它導致簡單的模塊化代碼,且易于維護。
總體開發速度加快,容易發現缺陷。
此外,單元測試被創建作為TDD方法的副產品。
然而,TDD可能不適合所有的情況。
在設計復雜的項目中,專注于簡單的設計以便于通過測試用例,而不提前思考可能會導致巨大的代碼更改。
此外,TDD方法難以用于與遺留系統,GUI應用程序或與數據庫一起工作的應用程序交互的系統。
另外,測試需要隨著代碼的改變而更新。
因此,在決定采用TDD方法之前,應考慮上述因素,并應根據項目的性質采取措施。
3.測量代碼覆蓋率代碼覆蓋率衡量(以百分比表示)了在運行單元測試時執行的代碼量。
通常,高覆蓋率的代碼包含未檢測到的錯誤的幾率要低,因為其更多的源代碼在測試過程中被執行。
重慶電腦培訓發現測量代碼覆蓋率的一些佳做法包括:使用代碼覆蓋工具,如Clover,Corbetura,JaCoCo或Sonar。
使用工具可以提高測試質量,因為這些工具可以指出未經測試的代碼區域,讓你能夠開發開發額外的測試來覆蓋這些領域。