Java 找不到Get方法

Java 找不到Get方法,java,Java,我试图从bar中检索foo1中的字符串,但由于某些原因,getFoo()方法无法读取。这是酒吧班 class bar { final String foo1; final String foo2; final String foo3; bar(String foo1, String foo2, String foo3) { this.foo1 = foo1; this.foo2 = foo2; this.foo3 = fo

我试图从bar中检索foo1中的字符串,但由于某些原因,getFoo()方法无法读取。这是酒吧班

class bar 
{
   final String foo1;
   final String foo2;
   final String foo3; 
   bar(String foo1, String foo2, String foo3) 
   { 
      this.foo1 = foo1;
      this.foo2 = foo2;
      this.foo3 = foo3;
   }
   String getFoo1(){
       return foo1;
   }
   String getFoo2(){
       return foo2;
   }
   String getFoo3(){
       return foo3;
   }
}
下面是试图访问Foo1的代码

Map<String, bar> map = new HashMap<>();
map.put("main1", new bar("foo1", "foo2", "foo3"));
"main1".getFoo1();
Map Map=newhashmap();
地图放置(“main1”,新酒吧(“foo1”,“foo2”,“foo3”);
“main1.getFoo1();
方法名称中缺少“()”号

试试这个:

class bar 
{
   final String foo1;
   final String foo2;
   final String foo3; 
   bar(String foo1, String foo2, String foo3) 
   { 
      this.foo1 = foo1;
      this.foo2 = foo2;
      this.foo3 = foo3;
   }
   String getFoo1(){
       return foo1;
   }
   String getFoo2(){
       return foo2;
   }
   String getFoo3(){
       return foo3;
   }
}
此外,您不能只执行“main”.getFoo1(); 尝试:


两个问题:首先,包括括号,例如
stringgetfoo1(){
not
stringgetfoo1{

其次,您不能只执行
“main1.getFoo1()
,您必须从映射中获取
“main1”
条目:
map.get(“main1”).getFoo1()
这是不正确的

"main1".getFoo1();
as
getFoo1()
不是字符串的方法

我想你在找我

map.get("main1").getFoo1();

这将从映射中获取
foo
对象,其键为main1。

您正在对字符串对象“main1”而不是bar对象调用getFoo1方法。我认为您的意思是使用键“main1”从映射中获取值,然后调用getFoo1。如下所示:map.get(“main1”).getFoo1();

您必须从map中检索元素,然后访问它。上面的代码只访问java.lang.String类上的方法

Map<String, bar> map = new HashMap<>();
map.put("main1", new bar("foo1", "foo2", "foo3"));
map.get("main1").getFoo1();
Map Map=newhashmap();
地图放置(“main1”,新酒吧(“foo1”,“foo2”,“foo3”);
get(“main1”).getFoo1();
使用“main1”从映射中获取条形图,然后在条形图上调用getFoo1()。在代码中,您试图在字符串“main1”上调用getFoo1()。
“main1”。getFoo1();
尝试从字符串“main1”中调用
getFoo1()
。要获取真正的
条形图
对象,请使用
map.get(“main1”).getFoo1()
“main1”-是字符串对象。字符串没有getFoo1()方法。很抱歉,在编写问题时忘记了
()
Map<String, bar> map = new HashMap<>();
map.put("main1", new bar("foo1", "foo2", "foo3"));
map.get("main1").getFoo1();