gpt4 book ai didi

java - 使用Lombok生成 "Getters"

转载 作者:行者123 更新时间:2023-12-02 10:10:53 24 4
gpt4 key购买 nike

我正在学习面向对象编程的入门类(class)。

我们当前的任务是创建一个“塔防”版本,为了帮助我们,我们正在使用 Junit 和 Lombok。我们已经提供了大量的代码来帮助解决 GUI 等问题,但我不认为所有代码都是理解问题所在所必需的,因为这实际上是我们在作业中应该做的第一件事。

package edu.chl.hajo.td.model;

import org.junit.Test;

import java.util.Arrays;
import java.util.List;

import static edu.chl.hajo.td.model.TowerDefence.TILE_SIZE;
import static org.junit.Assert.*;


/*
JUnit testing of model
*/
public class ModelTest {

@Test
public void testPath() throws Exception {
List<String> strPts = Arrays.asList(
"0,3", "3,3", "3,9", "8,9", "8,4", "12,4",
"12,12", "3,12", "3,17", "17,17",
"17,6", "20,6");
Path p = new Path(0, strPts, TILE_SIZE);


assertTrue(p.get(0) != null);


// etc.
}

// Add more tests as needed

}

所以我收到的错误消息是“无法解析方法'get(int)'”。这是我在“Path”类中编写的内容:

import java.util.ArrayList;
import java.util.List;
import lombok.Data;
/*
* A path for creeps (waves) to follow
*/
public class Path {

@Getter
private final int id;

@Getter
private final int size;

@Getter
private final List<Point2D> points; //= null; // TODO




// TODO

public Path(int id, List list, int size) {
this.id = id;
this.points = list;
this.size = size;
}

}

但如果我正确理解“Getter”,@Getter 只会创建 getId、getSize 和 getPoints 等方法。测试到底想用 get(0) 做什么?我觉得如果我们想从中获取一些东西是一个列表,那么这是有意义的,但在这里我们试图从路径中获取一些东西。

我希望其中一些对某人有意义。

最佳答案

我认为您应该实现 Path 类,这样当在测试中调用构造函数时,将使用每个坐标的 Point2D 列表创建 Path 。 get(int i) 是您必须实现的方法,以从路径返回该点。

Lombok 实现简单的 getter(如 getId()),但不一定是更复杂的 get(int i) 方法,该方法返回路径中的特定点。

关于java - 使用Lombok生成 "Getters",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55012403/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com