Potrzebuje na podstawie Stringa utworzyć Id. Jakieś pomysły? Md5 odpada bo tym id musi być Integer, i powinno być ustalane casesensitive.
Id na podstawie stringa
- Rejestracja: dni
- Ostatnio: dni
- Postów: 2787
A czy jest to w ogóle potrzebne? W bazie danych primary key nie musi być intem
- Rejestracja: dni
- Ostatnio: dni
- Lokalizacja: Kraków
- Postów: 233
Ale to nie będzie zapisywane do bazy... a musi być intem bo mi jest taki potrzebny do dalszych działań.
- Rejestracja: dni
- Ostatnio: dni
- Postów: 2787
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
- Rejestracja: dni
- Ostatnio: dni
- Postów: 93
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.
- Rejestracja: dni
- Ostatnio: dni
- Lokalizacja: Kraków
- Postów: 233
@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.
- Rejestracja: dni
- Ostatnio: dni
- Lokalizacja: Wrocław
- Postów: 13042
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)
)
- Rejestracja: dni
- Ostatnio: dni
- Postów: 426
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.