㈠ java如何對一個字元串生成唯一的編碼
JAVA類庫中可以使用UUID方法,來生成唯一的數字的一串數字編號,也就是訂單號。
UUID.randomUUID().toString().replaceAll("-", "");通過上述方法就可以返回一串數字字元串。
㈡ 使用java如何獲取計算機唯一標識(注意,操作系統不一定是windows,還要適應其它操作系統)
system.getProperties() 確定當前的系統屬性。
看這個方法返回值有沒有你想要的。
㈢ 用java獲得機器的唯一號
一、上Google搜一下Mac及CPU ID的C代碼
二、上java.sun.com找那個JNI的指南
三、你用二的方法把一的代碼給包一下。
其實利用在java中的runtime來執行在win裡面的ipconfig -all的命令可以實現的!!
java.lang.Process proc = Runtime.getRuntime().exec("ipconfig /all");
InputStream istr = proc.getInputStream();
byte[] data = new byte[1024];
istr.read(data);
netdata = new String(data);
分析其中的netdata就是那!,有關cpu的可以類同實現!
㈣ java的jvm在執行java程序的時候,會給新建的對象分配一個唯一的標識,請問這個唯一標識怎麼獲取阿
可以使用對象的toString()方法,回返回一個字元串,字元串後半部分的哈希碼就是唯一的。
toString
public String toString()返回該對象的字元串表示。通常,toString 方法會返回一個「以文本方式表示」此對象的字元串。結果應是一個簡明但易於讀懂。建議所有子類都重寫此方法。
Object 類的 toString 方法返回一個字元串,該字元串由類名(對象是該類的一個實例)、at 標記符「@」和此對象哈希碼的無符號十六進製表示組成。換句話說,該方法返回一個字元串,它的值等於:
getClass().getName() + '@' + Integer.toHexString(hashCode())
返回:
該對象的字元串表示形式。
㈤ java:String.hashcode可以保證多長的字元串的值唯一
java 1.7源碼中,java.lang.String.hashCode()注釋如下:
Returnsahashcodeforthisstring.
s[0]*31^(n-1)+s[1]*31^(n-2)+...+s[n-1]
usingintarithmetic,wheres[i]istheithcharacterofthestring,nisthelengthofthe
string,and^indicatesexponentiation.(Thehashvalueofthe
emptystringiszero.)
具體使用可以參考淺談Java中的hashcode方法
㈥ java怎樣判斷一個數組中值的唯一性
可以用set將數組中的值保存,java中set存的都是唯一的,不會有重復數值,全部存進去之後判斷,如果set的大小和數組的大小一樣,則所有數值都是唯一的!
㈦ JAVA中如何判斷List<Person>中自定義泛型的值不重復添加
要保證每個Person中的三個屬性欄位必須是唯一的?
如果真是這種需求的話,你可以這樣做:用另一個Map來保存已經添加了的唯一值
像這樣
list用來保存Person對象
map用來保存唯一值
如果是id必須唯一,那麼每次在list.add之前把id放到map中去作為key值,
以後每次在list添加之前都判斷一下map中是否有這個key值,如果有就不允許添加,沒有就添加
如果三個屬性欄位全是唯一的話,可以把三個屬性欄位用「,」好拼接起來
像這樣id+","+name+","+address,
然後把這個字元串作為唯一值放到map中去。
然後每次list添加之前判斷map中是否有這個key值
這樣就能保證list中保存的所有Person對象的屬性唯一
㈧ java哪個隊列能保證數據的唯一性
HashSet 保證元素唯一性的方法
自己的理解:當HashSet中放入了兩個對象後,默認他們的hashCode都是不一樣的,因此不需要調用equals方法就能確定這兩個對象不是同一個,但是如果這兩個對象的值是一樣的,這種判斷結果就不符合要求了,因此需要重寫hashcode方法,將兩個對象的hashcode值設為相同,這樣就可以進入equals判斷階段,equals方法是繼承自object類的,比較的是對象的地址值,所以判斷的結果也必定不同,這又不符合要求了,因此也需要重寫equals方法。經過改寫以上兩個方法,可以完成兩個對象的比較,只要兩個對象的內容(值)相同,就判斷為同一個對象,不得重復存儲。哈希表就像一個個桶,每個桶都有一個hashcode,只要元素的hashcode相同,equals如果為false,那麼這些元素都掛在這個桶里。
另外,判斷是否包含某元素(contains),list和set也是不同的:
ArrayList:判斷包含,以及刪除,都是依據元素的equals方法。
HashSet:判斷包含,以及刪除,都是依據元素的hashCode方法。當hashCode值相同時,在判斷一次equals方法。