2015-08-17 60 views
2

我能夠在我的代碼的main()方法中將MessageDigest作爲局部變量調用,但每當我嘗試在類中創建MessageDigest的字段變量時,並嘗試在構造函數中初始化它,它會拋出一個NoSuchAlgorithm異常。messagedigest對象在用作java中的字段/靜態變量時拋出NoSuchAlgorithm

我的直覺是我們不能像那樣實例化MessageDigest對象。真的嗎?

基本上,this is我做了什麼。我想將它用作字段變量,而不是局部變量。

+3

把你嘗試的確切代碼。然後人們將能夠說出錯的原因。 – Codebender

+0

引發異常,不返回。 – EJP

回答

1

你是對的。由於該異常被聲明爲拋出,所以可以將MessageDigest對象初始化爲成員變量的唯一方法是通過構造函數來構造異常,或者使用構造函數或包含適當try/catch塊的構造函數。否則它不會編譯。

+0

嗯,非常接近我的想法,實際上確實拋出了異常,這需要被捕獲。 – khanna