Id na podstawie stringa

0

Potrzebuje na podstawie Stringa utworzyć Id. Jakieś pomysły? Md5 odpada bo tym id musi być Integer, i powinno być ustalane casesensitive.

0

A czy jest to w ogóle potrzebne? W bazie danych primary key nie musi być intem

0

Ale to nie będzie zapisywane do bazy... a musi być intem bo mi jest taki potrzebny do dalszych działań.

0

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

3

Spoko, nie martw się, Twój przypadek jest typowy. Wygląda on mniej więcej tak:

  1. Przychodzi ktoś na forum z jakimś kompletnie absurdalnym pomysłem rozwiązania jakiegoś problemu X.
  2. Niektórzy rzucają równie poronione pomysły.
  3. Z czasem ktoś sprytny zauważa, że nikt nie opisał do tej pory problemu X.
  4. Po kilkunastu-kilkudziesięciu postach udaje się przekonać autora, że trzeba zacząć od opisania źródłowego problemu X.
  5. Po paru dniach autor to w końcu robi.
  6. Ktoś rzuca rozsądny pomysł.
  7. Wątek zostaje zakończony.
0

@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.

0

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) 
)
1
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.

1 użytkowników online, w tym zalogowanych: 0, gości: 1