microsoft / microsoft/vscode-java-debug

ArrayList get(int) Object Error

Ouverte
#916 1 commentaire 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

ai-triaged bug evaluation
Langage dominant
TypeScript
Étoiles
591
Forks
429
Merge moyen
1 j 9 h
PR mergées (30 j)
19

Description

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.

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Piste de recherche

Commencez par reproduire le problème avec le code ArrayList2D consolidé, JDK 13.0.2 et l’extension Java Debugger, puis suivez l’évaluation de l’expression conditionnelle du débogueur pour test.get(0).get(0). L’issue est terminée lorsque la condition du breakpoint est évaluée avec succès et affiche "Work0" au lieu d’indiquer que get(int) n’est pas défini pour Object.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
java, typescript
Domaine
devtools
Type d'issue
Bug
Difficulté
4/5
Temps estimé
3-5 jours
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
35/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.