如何将对象更改为指向java [关闭]
Posted
技术标签:
【中文标题】如何将对象更改为指向java [关闭]【英文标题】:how to change object to point on the java [closed] 【发布时间】:2018-01-02 14:48:53 【问题描述】:我一直在写我的期末论文,构建一个 Java 程序来实现 K-means 算法,但我遇到了这个错误:
对象无法转换为点。
这是我的错误所在的代码
public void plotCluster()
System.out.println("[Cluster: " + id+"]");
System.out.println("[Centroid: " + centroid + "]");
System.out.println("[Points: \n");
for(Point p : points) // error
System.out.println(p);
System.out.println("]");
【问题讨论】:
你声明列表时是否带有类型参数<
>
?喜欢List<Point>
?
@SuryaHandika ,请用完整的代码更新您的问题
ListList<Point> myList = new ArrayList<>()
What is a raw type and why shouldn't we use it?的可能重复
【参考方案1】:
从您的评论中,您提到您这样声明您的列表:
public List points;
我会假设稍后你会这样做:
points = new ArrayList();
List
是一个泛型类,类型参数表示列表包含的对象类型。如果不指定类型参数,则默认为Object
。
您应该使用类型参数声明您的列表:
public List<Point> points;
points = new ArrayList<>(); // note the <>
在您当前的代码中,您有一个原始 列表(默认保存Object
),这就是for(Point p : points)
无法进行类型检查的原因。就编译器而言,该列表包含Object
,因此您不能将其分配给类型为Point
的p
。
【讨论】:
该死!当我走神时,我正在回答中!我想说同样的话。那好吧。不错的答案! (+1)以上是关于如何将对象更改为指向java [关闭]的主要内容,如果未能解决你的问题,请参考以下文章
如何将Google Chrome的更改标签快捷方式更改为Unix? [关闭]
html 此JavaScript将更改指向页面上SharePoint徽标的链接。默认链接转到站点主页,这会将其更改为whateve
如何将 Code128 字体文本框更改为可读条形码? [关闭]