我试图将一个数字添加到一个对象数组列表中,我一直得到一个“不能被强制转换”的错误。
我对Java相当陌生,所以请你对我放松点
我的代码在下面,任何帮助都将不胜感激。如有任何问题,请与我联系。
public class runningClass {
public class Sortbymake implements Comparator<runningClass>
{
@Override
public int compare(runningClass a, runningClass b)
{
我是新来的,这是我的第一篇帖子。我刚刚完成了我的Java,现在开始学习OCP。我有一个关于可比界面的问题。
我有这个代码片段,它解释了如何实现可比较性:
import java.util.*;
public class Duck implements Comparable<Duck> {
private String name;
public Duck(String name) {
this.name = name;
}
public String toString() { // use readable output
return name;
}
public int com
import java.io.*;
import java.util.*;
public class Dictionary
{
protected static int line_number = 0;
public static void main(String[] args)
{
List<Dict> my_collection = new ArrayList<Dict>();
List<Dict> search_term = new ArrayList<Dict>();
File filename = new
可能重复:
我使用的是Java 图形包和Netbeans 7。我从Java获得了以下错误:
Exception in thread "main" java.lang.ClassCastException: graphvisualization.MyVertex cannot be cast to java.lang.Comparable
at java.util.TreeMap.put(TreeMap.java:542)
下面是与错误相关的代码:
SortedMap<MyVertex, Double> vMap = new TreeMap<
我是java的新手,我不太了解如何使用比较器接口。我在一个Inventory类和一个Item类中有一个Items的ArrayList。在Item类中,我写道:
public class Item implements Comparator<Item> {
//stuff
...
@Override
public int compare(Item a, Item b) {
if (a.getID().compareToIgnoreCase(b.getID())>0)
return 1;
el
我正在搜索给定interface{}值的[]interface{}切片:
var v interface{}
for i := 0; i < len(A); i++ {
if (A[i] == v) {
fmt.Println("Gotcha!")
break
}
}
在微不足道的情况下,类型是int。但是,例如,如果类型是一些自定义的struct,我该怎么办
我不明白为什么第一个结果是假的,而第二个结果是正确的。
任何帮助都将不胜感激。
func main() {
var i interface{}
i = uint64(0)
fmt.Println("[1] ", reflect.TypeOf(i), i == 0)
i = 0
fmt.Println("[2] ", reflect.TypeOf(i), i == 0)
var n uint64 = 32
fmt.Println("[3] ", reflect.TypeOf(n), n
我有下面的代码,它使用基于字符串长度的比较器来创建TreeSet。
public class TreeSetComparator {
public static void main(String[] args) {
SortedSet<String> sortedSet = new TreeSet<>(Comparator.comparing(String::length));
sortedSet.addAll(Arrays.asList("aa", "bb", "aa"));
我想将元素从List<Set<String>>复制到SortedMap<Set<String>,Integer>中,但我总是得到:
java.lang.ClassCastException: java.util.HashSet cannot be cast to java.lang.Comparable. (or HashMap could be a TreeSet too, vice versa)
我读过的一些地方说这是不可能的,但这是正确的吗?
我不敢相信我不能将原始列表或集合复制到Map中。
这是我尝试过的:
List<Set<
嗨,我在试图与java一起使用PropertyQueue时出错了。我对java有点不熟悉,希望能得到一些关于这个错误的解释!下面是我的代码的大致样子:
import java.util.*;
import java.io.*;
class Lecture{
public Lecture(Strings){
...
}
//Then some getter and setter and function
}
class Room{
Vector<Lecture> setLecture = new Vector<Lecture>
我是java新手,我正在尝试比较K类的两个对象,我不知道如何定义比K 7小的K 3,因为它们都不是整数,而是K类型。你能展示一下如何比较猫和狗吗?这样cat < dog。因此,cat.compareTo(dog) == -1。 下面是我的两个对象: K cat = new K(3);
K dog = new K(7); 我在我的类中扩展了比较,以便进行比较。我想对它们进行比较,所以我是这样做的: public class K extends Comparable<K>{
//CONSTRUCTOR
//METHOD
if (cat.compareTo(dog) ==
我正在学习java中的集合,并在理解following.It来自scjp时被卡住了(复习问题15.37)。
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class WhatIsThis {
public static void main(String[] args) {
List<StringBuilder> list = new ArrayList<StringBuilder>();
list.add(new Stri
来自第31项的代码
public class Union {
public static <E> Set<E> union(Set<? extends E> s1, Set<? extends E> s2) {
// Bloch used HashSet, but I want natural ordering and still make freedom of producer type
Set<E> result = new TreeSet<>(s1);
resu
(如果这是一个副本,请告诉我正确的答案!)我搜索并阅读了几个(>5)相关的问题,但似乎都没有。还查看了通用常见问题和其他来源.)
显然正确的做法是,当集合类接受比较器时,它应该具有参数化类型Comparator<? super T>的类型T。你可以看到很多地方,比如。好吧。
我的问题是使用,它在T extends Comparable<? super T>上进行参数化,但返回一个Comparator<T>。我试图在集合类中有一个字段,该字段包含用户指定的比较器或Comparator.naturalOrder比较器。
我不能让它起作用。我的问题,所有相关
我必须将Hashset转换为TreeSet,但我有错误
// Here, All is ok, Chien is an object.
Set<Chien> animaux = new HashSet<Chien>();
animaux.add(new Chien("non", 10));
animaux.add(new Chien("zoz", 15));
animaux.add(new Chien("non", 10));
// And then i have to convert it to TreeSet
//
在上的Oracle中有一个非常令人困惑的句子
如果您需要在各种各样的类中实现Relatable,那么可以将从这些类中的任何类实例化的对象与findLargerThan()方法进行比较--条件是这两个对象都是同一个类。
我不知道我是否明白这一点。
假设有一个类A和B实现接口Relatable,而我在main()中有如下代码。
A a = new A();
B b = new B();
System.out.println(a.isLargerThan(b));
假设isLargerThan()方法按照接口返回一个int,以便打印工作。
上述代码是否能够适用于任何A类和B类?我认为这
我试着学习java泛型,从中我得到了下面的方法定义,在这里有人可以解释为什么我们在返回类型之前声明<T extends Comparable<T>>。
public static <T extends Comparable<T>> int countGreaterThan(T[] anArray, T elem)
我知道比较接口的用法,但是为什么我们需要在方法的返回类型之前使用这个<T extends Comparable<T>>?
相反,我们可以像public static int countGreaterThan(T[
我有下一节课。
private static class Node {
public int id; // 0 indexed
public int distFromS;
Node(int id, int distFromS) {
this.id = id;
this.distFromS = distFromS;
}
}
我将Node的实例存储在PriorityQueue中并对它们进行操作.
PriorityQueue<Node> procQueue = new PriorityQueue<Node>()
我想按学号对学生进行排序。我知道如何使用合并排序对整数数组列表进行排序,但是对arraylist类型的学生进行排序是不同的。
我的学生类包含以下属性:
public static class Student
{
String name;
int rollNum, WebMark, dsMark, dmMark;
public Student(String name, int rollNum, int WebMark, int dsMark, int dmMark)
{
this.name = na
这个代码有什么问题。我得到以下错误信息。
Exception in thread "main" java.lang.ClassCastException: Nodes cannot be cast to java.lang.Comparable
at java.util.PriorityQueue.siftUpComparable(Unknown Source)
at java.util.PriorityQueue.siftUp(Unknown Source)
at java.util.PriorityQueue.offer(Unknown Source
我不明白go是如何比较匿名结构的。我正在尝试理解这段代码:
package main
import (
"fmt"
)
type foo struct {
bar string
}
func main() {
var x struct {
bar string
}
var y foo
fmt.Println(x == y) // this prints true
equals(x, y) // this prints false
}
func equals(a, b interface{}) {
警告一下,我只有一个学期的时间。在提出了一个类似的问题后,我不得不转向,老实说,我无法理解其中的大部分内容,这也不是一个巨大的帮助。
我使我的代码对正在发生的事情更加充分(我将所有内容合并为一个主要方法)。我觉得应该能帮上点忙。
不管怎么说,我收到了这个错误
Exception in thread "main" java.lang.ClassCastException: lab13d.Card cannot be cast to java.lang.Comparable
at java.util.PriorityQueue.siftUpComparable(PriorityQu
我在想出以下问题的答案时遇到了一些困难。我知道它使用泛型,并知道它将帮助它消除一些运行时错误的类型,但无法想出答案来为它编写。
Java类将用于存储优先级队列的元素,这些元素将按优先级顺序排序。这个类的头是:
public class PriorityQueue<T extends Comparable<T>>
解释<T extends Comparable<T>>对于实现优先级队列的代码和创建优先级队列实例的客户端代码的意义。
当我试图使用可比较的接口创建匿名内部时,我得到了编译错误。
//Code trying to create treeset using comparable
// compilation error
TreeSet<String> treeSet5 = new TreeSet<String>(new Comparable<String>() {
@Override
public int compareTo(String o) {
// TODO Auto-generated method stub
下面是我的类:
public static class __9_7_Person implements Comparator<__9_7_Person> {
private int height;
private int weight;
public __9_7_Person(int height, int weight) {
this.height = height;
this.weight = weight;
}
public int compare(__9_7_Person p1, __9_7_Perso
我将一些Integers添加到对象类型的ArrayList中,并希望对其进行排序。我的代码看起来是:
List<Object> list = new ArrayList<Object>();
list.add(24);
list.add(2);
list.add(4);
Collections.sort(list); // getting error here
System.out.println("Sorted list ");
for (Object e : list) {
System.out.println(e);
}
我得
我正在尝试对事件的结束时间进行排序。在我的应用程序类中,endTime位于我的Event类中,由Time类中的小时和分钟定义。
将implements Comparable<Event>添加到我的event类中,尽管我得到了The type Event must implement the inherited abstract method Comparable<Event>.compareTo(Event).I尝试快速修复add unimplemented methods,但收效甚微。
ArrayList<Event> events = new Array
我正在使用Y.Daniel梁的“Java编程和数据结构简介”一书学习Java泛型,我不理解其中的一个练习:
"19.3 (同一类型的一对对象)创建一个将相同数据类型的两个对象封装在成对实例中的结对类。
19.4 (使用通配符)编写一个通用静态方法,在编程练习19.3中返回对实例中的最小值。
解决方案代码如下:
public class Exercise19_04 {
public static class Pair<T> {
public final T one;
public final T two;
publi