microsoft / microsoft/vscode-java-debug

ArrayList get(int) Object Error

Aperta
#916 1 commento 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

ai-triaged bug evaluation
Lingua principale
TypeScript
Stelle
591
Fork
429
Merge medio
1g 9h
PR unite (30g)
19

Descrizione

Error produced in debugger
Breakpoint condition 'test.get(0).get(0).equals("Work0")' error: Cannot evaluate because of compilation error(s): The method get(int) is undefined for the type Object.

Breakpoint created on line with System.out.println("End") used in debugger
test.get(0).get(0).equals("Work0")

Consolidated code
import java.util.ArrayList;

public class ArrayList2D {
public static void main(String[] args) {
ArrayList<ArrayList> test = new ArrayList<ArrayList>();
ArrayList subTest = new ArrayList();
subTest.add("Work0");
subTest.add("Work1");
subTest.add("Work2");
test.add(subTest);
System.out.println("Full ArrayList: " + test);
System.out.println("Targetted location of ArrayList: " + test.get(0).get(0));
if (test.get(0).get(0).equals("Work0")) {
System.out.println("Breakpoint should work!");
}
System.out.println("End");
}
}

Code Output without Debugger
Full ArrayList: [[Work0, Work1, Work2]]
Targetted location of ArrayList: Work0
Breakpoint should work!
End

Environment
  • Operating System: Windows 10 x64
  • JDK version: JDK 13.0.2
  • Visual Studio Code version: 1.51.1
  • Java extension version: 0.12.0
  • Java Debugger extension version: 0.29.0
Steps To Reproduce
  1. Run consolidated code
  2. Setup a breakpoint at the End printout with test.get(0).get(0).equals("Work0")
Current Result

test.get(0).get(0): Cannot evaluate because of compilation error(s): The method get(int) is undefined for the type Object.

Expected Result

test.get(0).get(0): "Work0"

Additional Information

I have a program that uses 2D ArrayLists, and I commonly will track down issues utilizing the debugger. I have not used the debugger in a few months, but since I came back to my setup (same breakpoints as before) the debugger has changed behavior.

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Direzione di ricerca

Inizia riproducendo il problema con il codice consolidato di ArrayList2D, JDK 13.0.2 e l’estensione Java Debugger, quindi traccia la valutazione dell’espressione condizionale del debugger per test.get(0).get(0). L’issue è completata quando la condizione del breakpoint viene valutata correttamente e visualizza "Work0" invece di segnalare che get(int) non è definito per Object.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
java, typescript
Ambito
devtools
Tipo di issue
Bug
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Ferma
Chiarezza
Abbastanza chiara
Idoneità per principianti
35/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.