java - 使用通用类型

标签 java

我的数据结构类(class)的讲师告诉我,有一种更好的方法可以在此方法中使用通用数据类型来实现,而不是将所有内容都转换为 E。我无法弄清楚这种更好的方法是如何实现的或确切地说她是什么意思。我知道我写的这个方法有效,但如果有更好的方法我想知道。

public class GenericSortedArrayBag<E extends Comparable> implements Cloneable,Iterable<E> {
    public int numPresents;
    public int maxPresents;
    private Object[] data;
public void delete(E k) {
    boolean found = false;
    for(int i=0; i <numPresents; i++) {
        if(((E)data[i]).equals(k)) {
            found = true;   
            }
        if(found && i<numPresents - 1) {
            data[i] = data[i+1];
        }
        else if(found) {
            data[i] = null;
        }
    }
    numPresents--;
}

最佳答案

而不是

private Object[] data;

你可以使用

private E[] data;

这样你就可以保存 Actor 阵容

if((data[i]).equals(k))

关于java - 使用通用类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52879625/

相关文章:

java - 如何在 java 中引用供应商或消费者的私有(private)方法

java - 方法重载 int 与 Short

java - 模拟返回模拟 : Mocking neo4j (database) objects for unit testing of domain logic

java - Eclipse 不能与 TortoiseSVN 一起使用吗?

java - 在java中访问和写入数据到现有文件

java - NoClassFoundError : org. apache.commons.codec.binary/Base64 运行时异常

java - Android Studio:Tab指示器处于 Activity 状态

java - 在 Java 中使用 Collectors 从两个 hashmaps 中返回一个平均 double

java - 将 java lambda 转换为 pre java 1.8 函数

java - 如何在 Play 2.2.x 的 dist 任务中禁用 scaladoc 生成(使用 build.sbt)?