Estou tendo problemas de compilação com a sintaxe e quiser este método para trabalho no Hashmap
objeto myMap
. Eu preciso o Add
método de tomar um String
valor e usar a Hashmap
put
função para adicionar um (chave, valor) par.
Eu tentei colocar a iniciação método de fábrica de newMap
dentro main
questões de acesso e tinha.
import java.util.*;
public class MyMap {
public static String item;
public static String brand;
Map<String, String> myMap = newMap();
public static void main(String[] args) {
myMap.Add("apple");
}
public static HashMap<String, String> newMap() {
return new HashMap<>();
}
public static void Add(String item) {
String brand = "nobrand";
myMap.put(item, brand);
}
}
erro de compilação devido a itens estáticos estáticos / não. Eu fiz todos eles estática para fazer tudo acessível em toda a classe.
Você tem dois erros:
Primeiro você deve fazer myMap
estática assim:
static Map<String, String> myMap = newMap();
Em segundo lugar você deve mudar myMap.Add("apple");
para Add("apple");
porque você escrever um método para a classe principal não para HashMap
que você espera de chamá-lo assim e também Add
método é estático e tem acesso a myMap
.
classe total seria assim:
import java.util.HashMap;
import java.util.Map;
public class Test {
public static String item;
public static String brand;
static Map<String, String> myMap = newMap();
public static void main(String[] args) {
Add("apple");
}
public static HashMap<String, String> newMap() {
return new HashMap<>();
}
public static void Add(String item) {
String brand = "nobrand";
myMap.put(item, brand);
}
}