1

每当我尝试在处理(java)中定义数组列表时,都会出现以下语法错误:

意外令牌:<

截至代码:

ArrayList<byte> graph;


void setup() {
   // List serial ports and chose the first one
   println(Serial.list());
   myPort = new Serial(this, Serial.list()[0], 9600);
   //Initialise the byte array
   graph = new ArrayList<byte>();
}

我是java新手,这是我在官方文档中找到的语法,所以处理实现一定有问题。

4

2 回答 2

3

当使用带有泛型的基元(例如int, )时short,必须声明byte“盒装类型”(例如Integer, Short) 。Byte“盒装类型”或“包装类型”只是原始类型的面向对象表示。

在你的情况下:

ArrayList<Byte> graph;

从列表中添加和删除仍然可以使用原语完成。这是因为 Java 将使用自动装箱来帮助将原语转换为对象形式或从其对象形式转换。

于 2013-06-17T18:29:47.983 回答
2

您不能定义List原始byte类型,您需要使用Byte包装类。任何用作泛型的东西都必须可转换为Object.

ArrayList<Byte> graph;

请参阅此答案,了解为什么不能将原始类型用作泛型。

这是您应该得到的编译错误之一,但它不会解释Unexpected token: <我猜的错误。您未发布的代码有问题。

于 2013-06-17T18:28:18.480 回答