Sekcja „Unikaj wyliczeń tam, gdzie potrzebujesz tylko Ints” została usunięta z oficjalnej dokumentacji programistów . (Zobacz Dlaczego Android nie używa więcej wyliczeń? Dla starej zawartości sekcji) Czemu? Czy nastąpiła zmiana w maszynie wirtualnej z systemem Android, która spowodowała, że wskazówka stała się przestarzała?
Deklaruję wyliczenie jako: enum Sex {MALE,FEMALE}; Następnie wykonaj iterację wyliczenia, jak pokazano poniżej: for(Sex v : Sex.values()){ System.out.println(" values :"+ v); } Sprawdziłem interfejs API języka Java, ale nie mogę znaleźć metody values ()? Ciekawi mnie, skąd się wzięła ta metoda? Łącze do API: https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html
Jeśli spojrzysz w enum api na metodę name(), mówi ona, że: Zwraca nazwę tej stałej wyliczeniowej, dokładnie taką, jaka została zadeklarowana w deklaracji wyliczenia. Większość programistów powinna używać metody toString zamiast tej, ponieważ metoda toString może zwracać bardziej przyjazną dla użytkownika nazwę. Ta metoda jest przeznaczona głównie do stosowania w …
Biorąc pod uwagę arbitralne wyliczenie w C #, w jaki sposób mogę wybrać wartość losową? (Nie znalazłem tego bardzo podstawowego pytania w SO. Za chwilę opublikuję swoją odpowiedź jako punkt odniesienia dla każdego, ale możesz napisać własną odpowiedź.)
Oto mój problem - szukam (jeśli w ogóle istnieje) odpowiednika enum ArrayList.contains();. Oto próbka mojego problemu z kodem: enum choices {a1, a2, b1, b2}; if(choices.???(a1)}{ //do this } Teraz zdaję sobie sprawę, że opcja ArrayListof Stringsbyłaby tutaj lepszą trasą, ale muszę uruchomić zawartość wyliczenia za pomocą przełącznika / przypadku w …
Przeczytałem kilka postów SO i wydaje się, że brakuje najbardziej podstawowej operacji. public enum LoggingLevel { Off = 0, Error = 1, Warning = 2, Info = 3, Debug = 4, Trace = 5 }; if (s == "LogLevel") { _log.LogLevel = (LoggingLevel)Convert.ToInt32("78"); _log.LogLevel = (LoggingLevel)Enum.Parse(typeof(LoggingLevel), "78"); _log.WriteDebug(_log.LogLevel.ToString()); } To …
W Javie możliwe jest umieszczenie metod wewnątrz wyliczenia. Czy w C # jest taka możliwość, czy jest to tylko zbiór ciągów i to wszystko? Próbowałem zastąpić, ToString()ale to się nie kompiluje. Czy ktoś ma prosty przykład kodu?
Chciałbym wyszukać wyliczenie na podstawie jego wartości ciągu (lub ewentualnie dowolnej innej wartości). Wypróbowałem następujący kod, ale nie zezwala on na statyczne w inicjatorach. Czy istnieje prosty sposób? public enum Verbosity { BRIEF, NORMAL, FULL; private static Map<String, Verbosity> stringMap = new HashMap<String, Verbosity>(); private Verbosity() { stringMap.put(this.toString(), this); } …
Jaki jest preferowany sposób konwersji wyliczenia na ciąg znaków w .NET 3.5? Enum.GetName Enum.Format ToString Dlaczego powinienem preferować jeden z nich od innych? Czy ktoś działa lepiej?
Otrzymuję numer type = 3i muszę sprawdzić, czy istnieje w tym wyliczeniu: export const MESSAGE_TYPE = { INFO: 1, SUCCESS: 2, WARNING: 3, ERROR: 4, }; Najlepszym sposobem, jaki znalazłem, jest pobranie wszystkich wartości wyliczenia jako tablicy i użycie na niej indexOf. Ale wynikowy kod nie jest zbyt czytelny: if( …
Jeśli mam takie wyliczenie: public enum Letter { A, B, C, //... } Jaki jest najlepszy sposób na losowe wybranie jednego? Nie musi być kuloodporna, ale dość równa dystrybucja byłaby miła. Mógłbym zrobić coś takiego private Letter randomLetter() { int pick = new Random().nextInt(Letter.values().length); return Letter.values()[pick]; } Ale czy jest …
Dlaczego ludzie zawsze używają wartości wyliczenia, jak 0, 1, 2, 4, 8lub nie 0, 1, 2, 3, 4? Czy ma to coś wspólnego z operacjami bitowymi itp.? Naprawdę byłbym wdzięczny za mały przykładowy fragment pokazujący, jak to jest poprawnie używane :) [Flags] public enum Permissions { None = 0, Read …
Podręcznik referencyjny MySQL nie zawiera jasnego przykładu, jak to zrobić. Mam kolumnę typu ENUM z nazwami krajów, do której muszę dodać więcej krajów. Jaka jest prawidłowa składnia MySQL, aby to osiągnąć? Oto moja próba: ALTER TABLE carmake CHANGE country country ENUM('Sweden','Malaysia'); Otrzymuję błąd: ERROR 1265 (01000): Data truncated for column …
enum PostType: Decodable { init(from decoder: Decoder) throws { // What do i put here? } case Image enum CodingKeys: String, CodingKey { case image } } Co mam zrobić, aby to zakończyć? Powiedzmy też, że zmieniłem na caseto: case image(value: Int) Jak dostosować to do Decodable? EDYTUJ Oto mój …
Poniżej mam wyliczenie flag. [Flags] public enum FlagTest { None = 0x0, Flag1 = 0x1, Flag2 = 0x2, Flag3 = 0x4 } Nie mogę sprawić, by stwierdzenie if było prawdziwe. FlagTest testItem = FlagTest.Flag1 | FlagTest.Flag2; if (testItem == FlagTest.Flag1) { // Do something, // however This is never true. …
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.