คำถามติดแท็ก enums

ชนิดข้อมูลประกอบด้วยชุดของค่าที่กำหนดชื่อเรียกว่าองค์ประกอบสมาชิกหรือตัวแจงนับของชนิด

6
เหตุใดจึงถูก“ ลบ Enums ที่คุณต้องการ Ints” จากเคล็ดลับประสิทธิภาพการทำงานของ Android
ส่วน "Enums หลีกเลี่ยงการที่คุณจะ Ints ต้องการ" ถูกลบออกจากอย่างเป็นทางการเอกสารนักพัฒนา (ดูเหตุใด Android จึงไม่ใช้ enums มากกว่านี้สำหรับเนื้อหาส่วนเก่า) ทำไม? มีการเปลี่ยนแปลงใน Android VM ที่ทำให้ทิปล้าสมัยหรือไม่?
175 android  enums 

3
เอกสารสำหรับค่า () วิธีการของ Enum อยู่ที่ไหน
ฉันประกาศ enum เป็น: enum Sex {MALE,FEMALE}; จากนั้นทำซ้ำ enum ตามที่แสดงด้านล่าง: for(Sex v : Sex.values()){ System.out.println(" values :"+ v); } ฉันตรวจสอบ Java API แต่ไม่สามารถหาค่า () วิธีการ? ฉันอยากรู้ว่าวิธีนี้มาจากไหน? ลิงก์ API: https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html
172 java  enums 

7
Java enum - ทำไมต้องใช้ toString แทนที่จะเป็นชื่อ
ถ้าคุณดูใน enum api ที่วิธีการname()มันบอกว่า: ส่งคืนชื่อของค่าคงที่ enum นี้ตรงตามที่ประกาศไว้ในการประกาศ enum โปรแกรมเมอร์ส่วนใหญ่ควรใช้เมธอด toString ในการตั้งค่านี้เนื่องจากเมธอด toString อาจส่งคืนชื่อที่เป็นมิตรต่อผู้ใช้มากขึ้น วิธีนี้ออกแบบมาสำหรับใช้ในสถานการณ์พิเศษที่ความถูกต้องขึ้นอยู่กับการได้รับชื่อที่แน่นอนซึ่งจะไม่แตกต่างจากรุ่นสู่รุ่น ทำไมจะดีกว่าการใช้งานtoString()? ฉันหมายถึง toString อาจถูกเขียนทับเมื่อชื่อ () สุดท้ายแล้ว ดังนั้นหากคุณใช้ toString และมีคนแทนที่มันเพื่อส่งคืนค่าฮาร์ดโค้ดที่แอปพลิเคชันทั้งหมดของคุณหยุดทำงาน ... นอกจากนี้หากคุณค้นหาแหล่งที่มาเมธอด toString () จะคืนค่าอย่างแน่นอนและเป็นเพียงชื่อ มันเป็นสิ่งเดียวกัน
171 java  enums 

9
ฉันจะเลือกค่าสุ่มจากการแจงนับได้อย่างไร
ด้วยการแจกแจงโดยพลการใน C # ฉันจะเลือกค่าสุ่มได้อย่างไร (ฉันไม่พบคำถามพื้นฐานนี้ใน SO ฉันจะโพสต์คำตอบของฉันในเวลาหนึ่งนาทีเพื่อเป็นข้อมูลอ้างอิงสำหรับทุกคน แต่โปรดโพสต์คำตอบของคุณเอง)
171 c#  random  enums 

29
Java: ตรวจสอบว่า enum มีสตริงที่กำหนดหรือไม่
นี่เป็นปัญหาของฉัน - ฉันกำลังมองหา (ถ้ามันยังมีอยู่) เทียบเท่า enum ArrayList.contains();ของ นี่คือตัวอย่างของปัญหารหัสของฉัน: enum choices {a1, a2, b1, b2}; if(choices.???(a1)}{ //do this } ตอนนี้ฉันรู้ว่าหนึ่งArrayListในStringsนั้นจะเป็นเส้นทางที่ดีกว่าที่นี่ แต่ฉันต้องเรียกใช้เนื้อหา enum ของฉันผ่านสวิตช์ / เคสที่อื่น ดังนั้นปัญหาของฉัน สมมติว่าไม่มีอะไรแบบนี้ฉันจะทำยังไงต่อ?
169 java  string  enums 

8
มีวิธีการตรวจสอบว่า int เป็น enum ทางกฎหมายใน C # หรือไม่?
ฉันได้อ่านโพสต์ SO เล็กน้อยและดูเหมือนว่าการทำงานพื้นฐานส่วนใหญ่หายไป 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()); } 78นี้ทำให้ไม่มีข้อยกเว้นก็มีความสุขในการจัดเก็บ มีวิธีการตรวจสอบค่าที่จะเข้าสู่ enum หรือไม่?
168 c#  enums 

6
วิธีการภายใน enum ใน C #
ใน Java เป็นไปได้ที่จะมีวิธีการภายใน enum มีความเป็นไปได้เช่นนี้ใน C # หรือเป็นเพียงแค่การรวบรวมสตริงและนั่นคืออะไร ฉันพยายามที่จะแทนที่ToString()แต่มันไม่ได้รวบรวม มีใครมีตัวอย่างรหัสง่ายๆ?
165 c#  enums  enumeration 

12
ฉันจะค้นหา Java enum จากค่า String ได้อย่างไร
ฉันต้องการค้นหา enum จากค่าสตริง (หรืออาจเป็นค่าอื่น ๆ ) ฉันลองใช้รหัสต่อไปนี้แล้ว แต่ไม่อนุญาตให้มีการเริ่มต้นในแบบคงที่ มีวิธีง่ายๆไหม? public enum Verbosity { BRIEF, NORMAL, FULL; private static Map<String, Verbosity> stringMap = new HashMap<String, Verbosity>(); private Verbosity() { stringMap.put(this.toString(), this); } public static Verbosity getVerbosity(String key) { return stringMap.get(key); } };
164 java  enums  lookup 

13
แปลง Enum เป็น String
วิธีใดที่ต้องการแปลง Enum เป็น String ใน. NET 3.5 Enum.GetName Enum.Format ToString เหตุใดฉันจึงควรเลือกหนึ่งในสิ่งเหล่านี้เหนือสิ่งอื่นใด มันทำงานได้ดีขึ้นหรือไม่
163 .net  enums 

6
ตรวจสอบว่ามีค่าอยู่ใน enum ใน TypeScript
ฉันได้รับหมายเลขtype = 3และต้องตรวจสอบว่ามีอยู่ใน enum นี้: export const MESSAGE_TYPE = { INFO: 1, SUCCESS: 2, WARNING: 3, ERROR: 4, }; วิธีที่ดีที่สุดที่ฉันพบคือการรับค่า Enum ทั้งหมดเป็นอาร์เรย์และใช้ indexOf กับมัน แต่โค้ดผลลัพธ์ไม่ชัดเจนมาก: if( -1 < _.values( MESSAGE_TYPE ).indexOf( _.toInteger( type ) ) ) { // do stuff ... } มีวิธีที่ง่ายกว่าในการทำเช่นนี้?

14
เลือกค่าแบบสุ่มจาก enum หรือไม่
หากฉันมี Enum เช่นนี้: public enum Letter { A, B, C, //... } วิธีที่ดีที่สุดในการเลือกแบบสุ่มคืออะไร ไม่จำเป็นต้องเป็นกระสุนคุณภาพการผลิต แต่การกระจายที่ค่อนข้างดีก็ดี ฉันสามารถทำอะไรเช่นนี้ private Letter randomLetter() { int pick = new Random().nextInt(Letter.values().length); return Letter.values()[pick]; } แต่จะมีวิธีที่ดีกว่า ฉันรู้สึกว่านี่เป็นสิ่งที่ถูกแก้ไขก่อนหน้านี้
162 java  random  enums 

7
ทำไมการอนุญาต enum มักจะมีค่า 0, 1, 2, 4
ทำไมคนมักใช้ค่า enum ชอบ0, 1, 2, 4, 8และไม่0, 1, 2, 3, 4? สิ่งนี้เกี่ยวข้องกับการทำงานของบิตหรือไม่? ฉันขอขอบคุณตัวอย่างข้อมูลขนาดเล็กเกี่ยวกับวิธีการใช้งานอย่างถูกต้อง :) [Flags] public enum Permissions { None = 0, Read = 1, Write = 2, Delete = 4 }
159 c#  permissions  enums  flags 

7
ฉันจะเพิ่มสมาชิกในคอลัมน์ประเภท ENUM ของฉันใน MySQL ได้อย่างไร
คู่มืออ้างอิง MySQL ไม่มีตัวอย่างชัดเจนเกี่ยวกับวิธีการทำเช่นนี้ ฉันมีคอลัมน์ประเภท ENUM ของชื่อประเทศที่ฉันต้องการเพิ่มประเทศอื่น ๆ ไวยากรณ์ MySQL ที่ถูกต้องเพื่อให้บรรลุคืออะไร? นี่คือความพยายามของฉัน: ALTER TABLE carmake CHANGE country country ENUM('Sweden','Malaysia'); ข้อผิดพลาดที่ฉันได้รับคือ: ERROR 1265 (01000): Data truncated for column 'country' at row 1. countryคอลัมน์เป็น ENUM ชนิดคอลัมน์ในข้างต้นคำสั่ง แสดงผลลัพธ์ของตาราง : mysql> SHOW CREATE TABLE carmake; +---------+---------------------------------------------------------------------+ | Table | Create Table +---------+---------------------------------------------------------------------+ | carmake | …
157 mysql  enums  alter-table 

7
ฉันจะสร้าง Enum Decodable ได้อย่างไรใน swift 4
enum PostType: Decodable { init(from decoder: Decoder) throws { // What do i put here? } case Image enum CodingKeys: String, CodingKey { case image } } ฉันจะทำอะไรให้สำเร็จ นอกจากนี้สมมติว่าฉันเปลี่ยนcase : case image(value: Int) ฉันจะทำให้สิ่งนี้สอดคล้องกับ Decodable ได้อย่างไร แก้ไขนี่คือรหัสเต็มของฉัน (ซึ่งใช้งานไม่ได้) let jsonData = """ { "count": 4 } """.data(using: .utf8)! do { …
157 swift  enums 

11
วิธีการเปรียบเทียบค่าสถานะใน C #
ฉันมีธง enum ด้านล่าง [Flags] public enum FlagTest { None = 0x0, Flag1 = 0x1, Flag2 = 0x2, Flag3 = 0x4 } ฉันไม่สามารถทำให้คำสั่ง if ประเมินว่าเป็นจริง FlagTest testItem = FlagTest.Flag1 | FlagTest.Flag2; if (testItem == FlagTest.Flag1) { // Do something, // however This is never true. } ฉันจะทำให้เรื่องนี้เป็นจริงได้อย่างไร
155 c#  .net  enums  attributes  flags 

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.