簡體   English   中英

使用龍目島生成“信件”

[英]Using Lombok to generate “Getters”

我正在學習面向對象編程的入門課程。

我們當前的任務是創建“塔防”的版本,並為了幫助我們使用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)'”。 這是我在“路徑”類中編寫的內容:

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;
    }

}

但是,如果我正確理解“ Getters”,則@Getter僅創建諸如getId,getSize和getPoints之類的方法。 測試實際上試圖與get(0)做什么? 如果我們想從列表中獲取某些東西,我覺得這很有意義,但是在這里,我們試圖從路徑中獲取一些東西。

我希望其中一些對某人有意義。

我認為您應該實現Path類,以便像在測試中那樣調用構造函數時,會為每個坐標創建一個Point2D列表。 get(int i)是您必須實現的一種從路徑返回該點的方法。

Lombok實現了簡單的getter(例如getId() ),但不一定是更復雜的get(int i)方法,該方法從路徑返回特定點。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM