Potrzebuje na podstawie Stringa utworzyć Id. Jakieś pomysły? Md5 odpada bo tym id musi być Integer, i powinno być ustalane casesensitive.
A czy jest to w ogóle potrzebne? W bazie danych primary key nie musi być intem
Ale to nie będzie zapisywane do bazy... a musi być intem bo mi jest taki potrzebny do dalszych działań.
Zawsze możesz użyć hashCode ;) jeśli będziesz mieć te same stringi, to string pool zapewni, że będą to referencje do tego samego obiektu więc hashCode też będzie taki sam
Spoko, nie martw się, Twój przypadek jest typowy. Wygląda on mniej więcej tak:
- Przychodzi ktoś na forum z jakimś kompletnie absurdalnym pomysłem rozwiązania jakiegoś problemu X.
- Niektórzy rzucają równie poronione pomysły.
- Z czasem ktoś sprytny zauważa, że nikt nie opisał do tej pory problemu X.
- Po kilkunastu-kilkudziesięciu postach udaje się przekonać autora, że trzeba zacząć od opisania źródłowego problemu X.
- Po paru dniach autor to w końcu robi.
- Ktoś rzuca rozsądny pomysł.
- Wątek zostaje zakończony.
@Shalom napisałem co chcę osiągnąć i wychodzi na to, że pomysł z hashcode jest chyba dobry. Chodzi to to aby na podstawie ciągu znaków np. "4programmers" utworzyć unikalne ID które da się zapisać w Integer. Tylko żeby to ID nie było losowe tylko związane z wpisanym ciągiem. Jak nie da się tego osiągnąć zostaje mi ręczne ustawianie ID i sprawdzanie przy dodawaniu do zbioru czy takie czasem nie istnieje.
Problem wygląda mniej więcej tak:
Można dodawać listy i elementy do list, nazwa listy musi być unikalna i nazwa elementu w obrębie listy też. Chodziło mi o to, żeby na podstawie stringa nazwaListy+nazwaElementu tworzyć unikalne id.
Dlaczego po prostu nie zrobisz sobie:
CREATE TABLE cośtam (
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
listName VARCHAR(64) NOT NULL,
elementName VARCHAR(64) NOT NULL,
UNIQUE (listName, elementName)
)
Hepek napisał(a):
@Shalom napisałem co chcę osiągnąć i wychodzi na to, że pomysł z hashcode jest chyba dobry. Chodzi to to aby na podstawie ciągu znaków np. "4programmers" utworzyć unikalne ID które da się zapisać w Integer. Tylko żeby to ID nie było losowe tylko związane z wpisanym ciągiem. Jak nie da się tego osiągnąć zostaje mi ręczne ustawianie ID i sprawdzanie przy dodawaniu do zbioru czy takie czasem nie istnieje.
Pamietaj, ze ten sam hash code moze byc dla dwoch roznych stringow.