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

4
BigDecimal เท่ากับ () และ CompareTo ()
พิจารณาคลาสทดสอบอย่างง่าย: import java.math.BigDecimal; /** * @author The Elite Gentleman * */ public class Main { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub BigDecimal x = new BigDecimal("1"); BigDecimal y = new BigDecimal("1.00"); System.out.println(x.equals(y)); System.out.println(x.compareTo(y) == 0 ? "true": "false"); } } …

17
วิธีการทำให้การติดตั้ง comparTo ปลอดภัยเป็นโมฆะง่ายขึ้น?
ฉันใช้compareTo()วิธีการสำหรับชั้นเรียนอย่างง่ายเช่นนี้ (เพื่อให้สามารถใช้Collections.sort()และสินค้าอื่น ๆ ที่เสนอโดยแพลตฟอร์ม Java): public class Metadata implements Comparable<Metadata> { private String name; private String value; // Imagine basic constructor and accessors here // Irrelevant parts omitted } ฉันต้องการลำดับธรรมชาติสำหรับวัตถุเหล่านี้จะเป็น: 1) เรียงตามชื่อและ 2) เรียงตามค่าถ้าชื่อเหมือนกัน; การเปรียบเทียบทั้งสองควรคำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ สำหรับเขตข้อมูลทั้งสองค่าเป็นที่ยอมรับอย่างสมบูรณ์ดังนั้นcompareToจะต้องไม่หยุดในกรณีเหล่านี้ วิธีแก้ปัญหาที่ควรคำนึงถึงนั้นเป็นไปตามลำดับต่อไปนี้ (ฉันใช้ "คำสั่งป้องกัน" ที่นี่ในขณะที่คนอื่น ๆ อาจต้องการจุดส่งคืนเดียว แต่นั่นอยู่ด้านข้าง) // primarily by name, secondarily by value; …

21
CompareTo () เทียบกับเท่ากับ ()
เมื่อทดสอบความเท่าเทียมกันของStringJava ฉันใช้มาตลอดequals()เพราะสำหรับฉันแล้วนี่เป็นวิธีที่เป็นธรรมชาติที่สุดสำหรับฉัน ท้ายที่สุดชื่อของมันก็บอกอยู่แล้วว่าตั้งใจจะทำอะไร แต่เพื่อนร่วมงานของผมเพิ่งบอกฉันได้รับการสอนที่จะใช้แทนcompareTo() == 0 equals()สิ่งนี้ให้ความรู้สึกผิดธรรมชาติ (ตามที่compareTo()ตั้งใจไว้เพื่อให้มีการสั่งซื้อและไม่เปรียบเทียบเพื่อความเท่าเทียมกัน) และถึงแม้จะค่อนข้างอันตราย (เพราะcompareTo() == 0ไม่จำเป็นต้องหมายความถึงความเท่าเทียมกันในทุกกรณีแม้ว่าฉันจะรู้ว่ามันทำStringเพื่อฉันก็ตาม) เขาไม่ทราบว่าทำไมเขาถูกสอนให้ใช้compareTo()แทนequals()สำหรับString's, และฉันจะยังไม่พบเหตุผลใด ๆ นี่เป็นเรื่องของรสนิยมส่วนตัวจริงๆหรือมีเหตุผลที่แท้จริงสำหรับวิธีใดวิธีหนึ่ง?
118 java  string  equals  compareto 

5
เหตุใดจึงใช้ CompareTo บน Enum ขั้นสุดท้ายใน Java
enum ใน Java ใช้Comparableอินเทอร์เฟซ ก็จะได้รับความสุขที่จะแทนที่Comparable's compareToวิธี แต่ที่นี่ก็ทำเครื่องหมายเป็นครั้งสุดท้าย ลำดับธรรมชาติเริ่มต้นEnumของcompareToคือลำดับที่ระบุไว้ ไม่มีใครรู้ว่าทำไม Java enums ถึงมีข้อ จำกัด นี้?
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.