我用这个取调用 pointsOfList1.Sort(New Comparison(Of PointF)(AddressOf ComparePoints)) 好像是按Y坐标排列不是X坐标哪里错了吗
时间: 2024-02-27 16:59:08 浏览: 17
根据你提供的 `ComparePoints` 函数,确实是按照 `PointF` 对象的 `X` 坐标进行比较的。可能是在调用 `pointsOfList1.Sort` 函数的时候出现了问题。请确认一下调用 `Sort` 函数时传入的参数是否正确,应该是:
```
pointsOfList1.Sort(AddressOf ComparePoints)
```
另外,请注意 `Sort` 函数会直接修改原始的列表,如果你需要保留原始的列表,请先复制一份再进行排序。
相关问题
New Comparison(Of Pointf)(AddressOf ComparePoints)) 点排序提示类型转换错误是为什么啊
这个错误可能是由于 ComparePoints 方法的签名不匹配 New Comparison(Of Pointf) 方法所需的委托类型导致的。
根据代码中的提示,New Comparison(Of Pointf) 方法需要一个委托类型为 Comparison(Of Pointf) 的参数,而 ComparePoints 方法的签名可能与此不匹配。
请确保 ComparePoints 方法的签名与 Comparison(Of Pointf) 委托类型所需的参数和返回值完全匹配。如果需要,您可以尝试使用 Lambda 表达式来创建一个匹配的委托类型,例如:
```
Dim comparer As Comparison(Of Pointf) = Function(p1, p2) ComparePoints(p1, p2)
```
您可以将此委托传递给 New Comparison(Of Pointf) 方法来解决此错误。
database. Cause: java.lang.IllegalArgumentException: invalid comparison: java.util.Date and java.lang.String 这个报错 怎么解决
根据提供的引用内容,报错信息是"java.lang.IllegalArgumentException: invalid comparison: java.util.Date and java.lang.String",这个错误是由于在比较时,将java.util.Date类型和java.lang.String类型进行了比较,导致类型不匹配的异常。解决这个问题的方法是将比较的两个对象的类型统一为相同的类型。
解决方案如下:
1. 确保比较的两个对象的类型相同,可以使用类型转换将java.lang.String类型转换为java.util.Date类型,或者将java.util.Date类型转换为java.lang.String类型,以便进行比较。
2. 如果比较的两个对象分别是数据库中的日期字段和一个字符串,可以使用数据库的日期函数将字符串转换为日期类型,然后再进行比较。
3. 如果比较的两个对象分别是Java代码中的变量,可以使用SimpleDateFormat类将字符串解析为日期对象,或者将日期对象格式化为字符串,然后再进行比较。
下面是一个示例代码,演示了如何解决这个报错:
```java
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class DateComparison {
public static void main(String[] args) {
String dateString = "2021-01-01";
Date date = new Date();
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
try {
Date parsedDate = dateFormat.parse(dateString);
// 将字符串解析为日期对象
if (date.compareTo(parsedDate) > 0) {
System.out.println("Date is after parsedDate");
} else if (date.compareTo(parsedDate) < 0) {
System.out.println("Date is before parsedDate");
} else {
System.out.println("Date is equal to parsedDate");
}
} catch (ParseException e) {
e.printStackTrace();
}
}
}
```