vb使用字符串分隔字符串_为什么要使用字符串
vb使用字符串分隔字符串
最近,我在一次培訓(xùn)課程中輔導(dǎo)初中生。 任務(wù)之一是編寫一個類,該類可以根據(jù)某些字符串鍵使映射變形。 創(chuàng)建的初級用戶之一的結(jié)果包含以下方法:
該代碼通常還可以。 使用散列表中分配給它的實(shí)際鍵來對單個可變形條目進(jìn)行變形的方法,并且該變形鍵被分解為單獨(dú)的方法。 非常簡單,我不在這里列出。 只要您知道實(shí)際上是什么矮人,變量名也就有意義。 該方法簡短易懂,但是參數(shù)列表需要一個HashMap而不是Map 。 為什么我們要限制調(diào)用方使用HashMap ? 如果調(diào)用者具有TreeMap并且有充分的理由,該怎么辦。 我們是否想要一種可以使TreeMap相形見separate的單獨(dú)方法? 當(dāng)然不是。
期望接口,通過實(shí)現(xiàn)。
大三學(xué)生將代碼替換為HashMap改為Map,但是大約五分鐘后,這位聰明的女士舉起了手,并提出了以下問題:
“如果我們將HashMap更改為Map,為什么不將String更改為CharSequence?”
當(dāng)問題突然出現(xiàn)時,要回答這樣的問題并非易事。 我想到的第一件事是原因是我們通常以這種方式這樣做,這就是原因。 但這不是一個真正的論點(diǎn),至少我不會接受那樣的事情,除了學(xué)生我也不接受這樣的回答。 無論如何,這將是非常獨(dú)裁的風(fēng)格。
真正的答案是,該參數(shù)在映射中用作鍵,并且映射的鍵應(yīng)該是不可變的(至少突變應(yīng)具有對等值和哈希碼計(jì)算的彈性)。 CharSequence是一個接口,而Java中的接口(很遺憾)不能保證不變性。 只有實(shí)現(xiàn)可以。 String是此接口的一個良好的,廣為人知的且經(jīng)過測試的實(shí)現(xiàn),因此可以是一個不錯的選擇。 關(guān)于stackoverflow有很好的討論。
在這種特殊情況下,我們期望實(shí)現(xiàn),因?yàn)槲覀冃枰豢勺兊臇|西,并且我們“不能”信任調(diào)用方傳遞不可變的字符序列實(shí)現(xiàn)。 或者:我們可以,但是要付出代價。 如果后來通過并修改了StringBuilder ,那么我們矮小的程序庫可能無法正常工作,并且可能會開始責(zé)備戰(zhàn)爭。 在設(shè)計(jì)API和庫時,我們不僅應(yīng)考慮可能的使用,還應(yīng)考慮實(shí)際的平均使用情況。
一個庫好壞了,沒有使用好。
這也可以應(yīng)用于其他產(chǎn)品,不僅是庫,而且可能會導(dǎo)致太大的問題(物理和武器)。
翻譯自: https://www.javacodegeeks.com/2014/10/why-to-use-string.html
vb使用字符串分隔字符串
總結(jié)
以上是生活随笔為你收集整理的vb使用字符串分隔字符串_为什么要使用字符串的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何选购二手笔记本电脑如何买卖二手电脑
- 下一篇: 让你的桌面清爽怡人让你的桌面清爽怡人吧