【发布时间】:2014-05-09 09:18:52
【问题描述】:
我正在编写一个将构建 SQL 表创建语句的类。我想做的是调用类似createTable(String tableName ColAndTypes... ct ) 的方法。当我编写该方法时,我没有收到任何编译错误。当我调用它时,我无法将值传递给方法,我认为这是因为我的语法错误,我不知道如何修复它。我想知道您是否可以查看我提供的示例并让我知道我需要做些什么来修复它。非常感谢您的帮助!
import java.util.*;
public class foo
{
public class bar{
public String sBar1, sBar2;
public bar(){
sBar1 = "null";
sBar2 = "null";
}
public bar(String sBar1, String sBar2){
this.sBar1 = sBar1;
this.sBar2 = sBar2;
}
}
String sFoo;
List<bar> bi;
public foo(){
sFoo = "null";
bi = new bar();
}
public foo(Strinf sFoo, bar bi){
this.sFoo = sFoo;
this.bi = bi;
}
public void runFooBar(String sFoo, bar... barArgs)
{
this.sFoo = sFoo;
for(bar x:barArgs){System.out.Println(bi.get(x).sBar1 + ":" + bi.get(x).sBar2);}
}
public static void main(String[] args)
{
foo fi = new foo();
fi.runFooBar("foo 1", ("1 sBar1","1 sBar2"),("2 sBar1 ","2 sBar2"))
}//end main
}//end class
【问题讨论】:
-
bi是List,但您将其初始化为bar。你有一个错字Strinf而不是String。List#get(int)需要int,但您传递给它的是bar。 -
请遵守 Java 命名约定。类应该在
PascalCase,所以Bar而不是bar。要回答您的具体问题,您没有。除非您使用 Java 8,否则我们不会。要解决您当前的问题,请传入(重命名的)Bar类的 instances。 -
我知道我确实有一些拼写错误,感谢您的反馈
标签: java methods arraylist parameters constructor