我有一个SortedDictionary<Package, List<string>>。以下是包类:
using System;
namespace GetPackageInfo
{
public class Package : IComparable, IEquatable<Package>
{
public string PackageName;
public string Version;
public Package()
{
}
public Package(string packageNa
我检查了用于字符串压缩的字符串比较方法,并研究了反编译器中的string类,发现基本上有四种方法
equals()
equalsIgnoreCase()
compareTo()
compareToIgnore()
现在我想知道我们使用的两个方法之间的区别,它们是equals()和compareTo(),基本上请说明为什么string类保留了这两个方法。
String tv = "Bravia";
String television = "Bravia";
// String compare example using equal
我正在编写一个简单的谓词函数如下:
public static Predicate<String> stringPredicate(String op, String compVal) {
if (op.equals("=")){
return p -> p.compareTo(compVal) == 0;
}
else if (op.equals("<")){
return p -> p.compareTo(compVal) == -1;
}
else if
请参见以下两个类:DTO和DTOWithOrdering
public class DTO {
private final String key;
private final long recordVersionNumber;
public DTO(String key) {
this.key = key;
this.recordVersionNumber = 0;
}
public DTO(String key, long recordVersionNumber) {
this.key = key;
我正在实现一个TreeSet,它将按人的年龄排序,但如果人的名字相等,则不会将人保存在set中。我实现了equals和hashcode,但是这个集合将保存所有人,即使他们有相同的名字。我也不知道原因。
public class Person implements Comparable<Person>{
private String name;
private int age;
public Person(String name, int age){
this.name = name;
this.age = age;
我正在制作一个游戏,其中包括允许玩家选择不同的选项和操作,然后执行它们以得到正确或错误(然后根据结果做其他事情)。
我(作为程序员)最终得到的是两个对象和一个以某种方式比较它们的请求。
public object arg0;
public CompareType compareType;
public object arg1;
args要么是int、float、string,要么是bool。假设CompareType是GREATER_THAN、EQUALS、LESS_OR_EQUAL_THAN等选项。默认情况下,无法比较的类型将转换为string,然后进行比较(可能会出现错误)。
我还没有想出
以下c#代码将无法编译,并显示错误"operator == cannot be applied to operator of 'T‘and 'T'“。
public class Widget<T> where T: IComparable
{
public T value;
public Widget(T input) { value = input; }
public bool Equals<T>(Widget<T> w) where T : System.IComparable
{
我正在尝试验证这个类:min >= max。我意识到使用泛型不能使用比较器。
这是我的泛型类。
public class Range<T>
{
public T MinValue { get; set; }
public T MaxValue { get; set; }
public Range() { }
public Range(T min, T max)
{
this.MinValue = min;
this.MaxValue = max;
}
public override
我的treeset.remove()有时可以正常工作。但在其他情况下,它不会遍历搜索匹配的所有元素,因此它不会删除我正在搜索的元素。下面是我对treeset compareTo的覆盖。
public class Entry implements Comparable<Entry>{
String oid, sd;
double p;
int sz, time;
public Entry(int time, String Order_id, String side, double price, int size){
this.oid = Ord
守则:
public class Equals {
public static void main(String[] args) {
String s1 = new String("java");
String s2 = new String("java");
if (s1 == s2) {
System.out.println("s1 == s2 is TRUE");
}
if (s1.equals(s2)) {
public class Pair<F,S> implements Comparable<Pair<F,S>> {
public F first;
public S second;
public F first() {
return first;
}
public void setFirst(F first) {
this.first=first;
}
public S second() {
return second;
}
public void setSecond(S second) {
this.second=second;
在下面创建的代码中,创建了Employee类,具有属性Id和Name,创建了Employee类e1,e2,e3的3个对象,分别具有名称属性a,b,a。当我将这些对象添加到散列集中时,大小显示为3,但在树形集中显示大小为2,即使我没有覆盖散列代码和等于方法。
Emplyoee class.............................
package collection.core.concept;
public class Employee implements Comparable<Employee>{
我有一个包含Quote对象的数组列表。我希望能够按名称、更改和更改百分比的字母顺序进行排序。如何对我的数组列表进行排序?
package org.stocktwits.model;
import java.io.Serializable;
import java.text.DecimalFormat;
public class Quote implements Serializable {
private static final long serialVersionUID = 1L;
public String symbol;
我遇到了一些问题,需要用Java语言比较两个字符串(或任何其他对象)是否相等。在String对象上有两个非常有用的方法,即。compareTo(Object O),它返回比较的整数结果,而其他equals(Object o)返回布尔值。我的问题是,compareTo()有一个变体,它将一个特定的字符串作为输入,而不是一个泛型对象,为什么equals()没有这样的变体呢?我经常遇到的一个问题是,当我在对象上调用equals方法并将泛型对象作为参数传递时,它不会抛出任何编译错误。考虑下面的代码片段(这不是一个真实的例子,但我写的只是为了说明我的观点)。
String testStr = new S
我已经挣扎了几天,试图编写这段代码。基本上,我们必须基于学生数组中类似的“学生”对象的SSN来执行binarySearch。在SSN上执行binarySearch之后,与该SSN的名字和姓氏相关联的学生应该打印出来,该学生的位置/位置应该打印出来。我遇到的问题是,当我执行binarySearch查找学生的位置/位置时,它总是返回"-1“,而不是学生的元素位置。有什么帮助吗?
学生班
package binarySearch;
public class Student implements Comparable<Student>{
private String f
我有一个名为Employee的类,它的成员变量是employeeName和employeeId。我正在创建新的Employee对象,然后将其添加到TreeSet中,以便根据employeeId对其进行排序。但是如果两个Employee对象具有相同的employeeName,我认为它们是相等的。Set不允许重复。但在这里我可以观察到一种奇怪的行为。这是我的代码。(我在这里不使用getter和setter。我直接访问成员变量。)
package secondOne;
import java.util.Set;
import java.util.TreeSet;
class Employee i
我正在尝试读取一个公司向量,如果两个公司具有相同的名称,则返回true,否则返回false,这是我使用ComapareTo方法完成的。在我的方法中,它将调用类Company中的“equals”方法。我的“equals”方法必须覆盖类对象中相应的方法。
我想知道的是,是否可以使用Equal方法覆盖CompareTo。如果是这样,我如何在main中检查它。
这个程序的目标是检查向量中的两个公司,如果是,则返回true,否则返回false。下面是我在main中测试它的代码。
public class Company implements Comparable <Company> {
/
给出一个非负整数的列表,我想把它们排列成最大的数。给定1,20,23,4,8,最大形成数为8423201。但是,我想知道compareTo方法中变量的顺序如何影响Arrays.sort的结果。例如,(s2 + s1).compareTo(s1 + s2)和(s1 + s2).compareTo(s2 +s1)有什么区别?
enter code here
private static class NumbersComparator implements Comparator<String> {
@Override
public int compare
我试图使用compareTo方法来比较两个不同的名称。运行第一次尝试后,程序将立即终止,而不会返回任何内容。如何修改此compareTo方法以比较名称(名称n和名称n2)并返回结果(-1、1或0)?显然,可以将print语句添加到显示(等于、前或后)以进行比较。谢谢你的帮助。
//First attempt
public class Name implements Comparable<Name> {
private String Name;
public Name(String string) {
// TODO Auto-generated