Ben Algorithm
enum Örnek, Enum'dan nasıl geri dönülür?
public enum Algorithm {
SHA1("sha1"),
HMAC("hmac"),;
Algorithm(final String algorithm) {
this.algorithm = algorithm;
}
private final String algorithm;
public String getAlgorithm() {
return algorithm;
}
}
olarak var ve
public class Sha1 {
public static String hash(final String text, final byte[] sb) {...}
}
ve
Birisi örneğin için çağırdığında onların örneklerini dönmek istiyorumpublic class Hmac {
public static String hash(final String text, final byte[] sb) {...}
}
gibi farklı algoritmalar sahip olduğunu düşünün
Algorithm.SHA1.getInstance()
Benim yöntem statik olduğundan
Soru
- nasıl örneğini dönebilirsiniz? (Birden iplikleri birbiri verilerle etrafında çalamaz böylece durağandır)
İş parçacığı güvenli hale getirmek için - senkronizasyonu kullanma hakkında ne var? – Razib
Bir getAlgorithm() yöntemini eklediğiniz gibi, bir getInstance() yöntemi de ekleyebilirsiniz. Bunu Enum veya farklı şifrelere uygulayabilirsiniz. SHA1 ("sha1") {X getInstance() {return new Sha1(); }, Hmac ("hmac") {X getInstance() {return new Hmac(); } '(Ancak bu, statik bir yöntemle size pek yardımcı olmaz - bu durumda zaten iyi bir fikir değildir). – eckes