Processing 处理类型不匹配

Processing 处理类型不匹配,processing,Processing,我是一个生疏的程序员,正在开发一个将有几个对象类的应用程序。我唯一的错误是类型不匹配,我不确定哪个调试器作为对象读取,哪个实际上在我创建的coord类中 public class Lily { int state; public Lily(coord[] pond) { int state = 0; coord place = new coord (mouseX, mouseY); pond = append(pond, place); \\this is the l

我是一个生疏的程序员,正在开发一个将有几个对象类的应用程序。我唯一的错误是类型不匹配,我不确定哪个调试器作为对象读取,哪个实际上在我创建的coord类中

    public class Lily {
  int state;

  public Lily(coord[] pond) {
 int state = 0;
 coord place = new coord (mouseX, mouseY);
 pond = append(pond, place);   \\this is the line that's getting a type error 

  }

   public void draw(){
   ellipse(mouseX, mouseY, 40, 40);
   fill(#08BC09);

 }
}
还有coord类

public class coord {

  float[] pair = new float[2];

  public coord(float X, float Y){
    pair[0] = X;
    pair[1] = Y;

  }
}
编辑:错误消息显示“类型不匹配”,Java.lang.Object与“main.coord[]不匹配”


有什么帮助吗?提前感谢。

要了解此问题,请阅读中的
append()
函数的文档。具体而言,该位:

使用对象数组时,函数返回的数据必须转换为对象数组的数据类型。例如:
SomeClass[]items=(SomeClass[])append(originalArray,element)

换句话说,你必须这样做:

pond = (coord[])append(pond, place);
原因是
append()
函数将
对象[]
数组作为参数。因此,即使您向它传递一个
coord[]
array,它也不“知道”数组的类型。因此,当它返回给您时,您会得到一个
对象[]
数组,它恰好是一个
坐标[]
数组。编译器无法保证这一点,因此您会得到错误,但您可以安全地转换返回给您的数组


还有一点需要注意:你应该养成使用适当缩进和大写的习惯(类应该以大写字母开头),否则你的代码有点难读。

要理解这个问题,请阅读中的
append()
函数的文档。具体而言,该位:

使用对象数组时,函数返回的数据必须转换为对象数组的数据类型。例如:
SomeClass[]items=(SomeClass[])append(originalArray,element)

换句话说,你必须这样做:

pond = (coord[])append(pond, place);
原因是
append()
函数将
对象[]
数组作为参数。因此,即使您向它传递一个
coord[]
array,它也不“知道”数组的类型。因此,当它返回给您时,您会得到一个
对象[]
数组,它恰好是一个
坐标[]
数组。编译器无法保证这一点,因此您会得到错误,但您可以安全地转换返回给您的数组


还有一点需要注意的是:你应该养成使用适当缩进和大写的习惯(类应该以大写字母开头),否则你的代码有点难读。

你应该编辑你的问题并添加错误消息的文本。你能发布一个我们可以运行的吗?如果我们不能自己运行代码,就很难帮助调试。@stark根据处理文档,append“将数组扩展一个元素并将数据添加到新位置”。因此我认为这不是数组大小问题。@KevinWorkman我不确定您的请求中缺少了什么。该错误显示在IDE中,并且是一个编译器错误,因此我也无法从中运行代码。我只是尝试调试我已经编写的少量代码,但不确定哪个项目被读取为对象,哪个项目被读取为坐标[]。您应该编辑您的问题并添加错误消息的文本。您可以发布一个我们可以运行的消息吗?如果我们不能自己运行代码,就很难帮助调试。@stark根据处理文档,append“将数组扩展一个元素并将数据添加到新位置”。因此我认为这不是数组大小问题。@KevinWorkman我不确定您的请求中缺少了什么。该错误显示在IDE中,并且是一个编译器错误,因此我也无法从中运行代码。我只是尝试调试我已经编写的少量代码,但不确定哪个项目作为对象读取,哪个项目作为coord[]读取。感谢您的帮助!此外,语法注释也有帮助。我的编程课太远了,记不起那样的事情。我在学数学,所以我懂编程的逻辑,但其他很多东西我都不懂。@LittleGrandma没问题,我绝对懂!谢谢你的帮助!此外,语法注释也有帮助。我的编程课太远了,记不起那样的事情。我在学数学,所以我懂编程的逻辑,但其他很多东西我都不懂。@LittleGrandma没问题,我绝对懂!