我开始使用Java的泛型,似乎缺少一个关键组件。原始类型/ T无法解析
首先,我做了一些对原材料型阅读需要的参数,实现没有太多做的,因为它们是通用的,但我的问题是BagInterface
和LinkedBag
之间的相互作用:
package Chapter3;
public interface BagInterface<T> {
/** Gets the current number of entries in the bag.
* @return the integer number of entries in the bag. */
public int getCurrentSize();
/** Sees whether this bag is full.
*@return true if the bag is full, or false if not. */
public boolean isFull();
/** Sees whether the bag is empty.
*@return true if bag is empty, or false if not. */
public boolean isEmpty();
/** Adds new entry to this bag.
*@param newEntry the object to be added as a new entry
*@return if the addition was successful, or false if not. */
public boolean add(T newEntry);
/** Removes one unspecified entry from this bag, if possible.
*@return either the removed entry, if the removal was successful, or null. */
public T remove();
/** Removes one occurrence of a given entry from this bag.
*@param anEntry the entry to be removed
*@return true id the removal was successful, or false if not. */
public boolean removal(T anEntry);
/** Removes all entries from this bag. */
public void clear();
/** Counts the number of times a given entry appears in this bag.
*@param anEntry the entry to be counted
*@return the number of times anEntry appears in the bag. */
public int getFrequencyOf(T anEntry);
/** Tests whether this bag contains a given entry.
*@param anEntry the entry to locate
*@return true if this bag contains anEntry, or false if not. */
public boolean contains(T anEntry);
/**Retrieves all entries that are in this bag.
*@return a newly allocated array of all the entries in the bag */
public T[] toArray();
}
的两个错误做有T没有得到解决
package Chapter3;
public class LinkedBag implements BagInterface {
// reference to first node
private Node firstNode;
private int numberOfEntries;
// default constructor
public LinkedBag() {
firstNode = null;
numberOfEntries = 0;
}
// second constructor
(error occurs here) public LinkedBag(T[] item, int numberOfItems) {
this();
for(int index = 0; index < numberOfItems; index++)
add(item[index]);
}`
另一个是是与get.data但我相信,也有以T没有解决
做(error occurs here) result[index] = currentNode.getData();
index++;
currentNode = currentNode.getNextNode();
}// end while
return result;
}// end is full
我已经转录完整的.java文件,注意是否需要更多信息,但我试图保持它的特定和简洁。
你会得到什么错误?你能分享他们的确切文字吗?对T – Mureinik
错误是 “T不能被解析为一个类型” 在错误的getData() “从类型LinkedBag.Node方法的getData()是指缺少类型T” – DR4QU3
什么行会产生这个错误? – Mureinik