Syntax error on token “:”, invalid AssignmentOperatorではハマった

エラー ツール・その他

Spring bootを勉強している際にタイトルのエラーでどハマりしたので備忘録として残しておく。

エラー内容

問題

TaskDTOをTaskServiceで初期化する際にSyntax error on token “:”, invalid AssignmentOperatorというエラーが発生。「:」が無効らしい。


環境:Visual Studio Code
バージョン: 1.91.1

main
  └─java
     └─com
         └─example
             └─demo 
                 ├─controller
             │      └─task
                 │          TaskDTO.java
                 │     
                 └─Service
                      └─task
                          TaskService.java
package com.example.service.task;

import com.example.demo.controller.task.TaskDTO;

public class TaskService{
  public TaskDTO find(){
  var task1 = new TaskDTO(
    id:2L, 
    name:"田中");
    return task1;
  }
}
package com.example.demo.controller.task;

public record TaskDTO(
  long id,
  String name
) {
}

解決方法

どうやら以下の赤字で記述する箇所が問題となっているので削除する。

id:2L,
name:“田中”


変更前
id:2L,
name:”田中”

変更後
2L,
“田中”

id:とname:は自動で補填された

終わりに

vscodeが自動でプロパティ名を補填?してくれるみたい。なぜこうなるのか時間がある際に調べておきたい。

どうやら初期化では、キー名ではなく位置引数を使用しているようだ。

参考

Invalid AssignmentOperator used in lecture?
Hi, thank you for the answer, but actually, the problem was that I didn’t import the right java package. It worked, than...