java - 编译Java程序时遇到问题

标签 java compiler-errors implementation

我正在尝试编写一个程序,该程序接受与DataSet类可比较的类型,以便它可以找到最大值和最小值。唯一的问题是我既不能编译任何一个,也对如何解决错误感到困惑。谢谢

DataSet.java:

public class DataSet<T implements Comparable>
{

 private T maximum;
 private T least;
 private int count;

 public void add(T x)
 {

   if(count == 0){
     least = x;
     maximum = x;
   }
   else if(least.compareTo(x) > 0)
     least = x;
   else if(maximum.compareTo(x) < 0)
    maximum = x;
   count++;
 }

 public T getMaximum()
 {
  return maximum;
 }

 public T getLeast()
 {
   return least;
 }

}

错误:
java:5: error: '(' or '[' expected
        DataSet<String> ds = new DataSet<String>;
                                                ^
1 error

可比:
public interface Comparable
{
public int compareTo(Object other);
}

这里没有错误
public class DataSetTester
{
public static void main(String[] args)
{
    DataSet<String> ds = new DataSet<String>;
    ds.add(man);
    ds.add(woman);
    System.out.println("Maximum Word: " + ds.getMaximum());

 }
}

错误:
java:5: error: '(' or '[' expected
        DataSet<String> ds = new DataSet<String>;
                                                ^

最佳答案

当心缺失的偏执症:

DataSet<String> ds = new DataSet<String>();

另外,您正在使用“implements”关键字。对于泛型,应使用扩展关键字。因此,它应显示为:
public class DataSet<T extends Comparable<T>>

传递字符串参数时,还会缺少“”:
DataSet<String> ds = new DataSet<String>();
ds.add("man");
ds.add("woman");

这些错误中的大多数都是微不足道的,您应该尝试多做一些练习以理解该语言。同样,来自编译器的错误消息也应该有所帮助。

关于java - 编译Java程序时遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9449498/

相关文章:

java - JOptionPane无法正常工作

c++ - 维基代码?任何人都可以查看和编辑代码的地方?

java - 集合的通用返回类型

java - hashcode数是否代表内存地址?

java - Cassandra:分区键只支持 EQ 和 IN 关系(除非你使用 token() 函数)

spring-boot - 将 Spring Boot 应用程序推送到 Heroku 时出错

swift - 激活开关时用文本填充文本字段

c++ - 接口(interface)的实现

haskell - 在 Haskell 中实现 Iota

java - TestFX和Gradle-NoNodeFoundException