日期:2014-05-20  浏览次数:20642 次

求解释,这段代码输出结果是??
if(database.equals("oracle"))
  System.out.println("1");
  else
  System.out.println("2");

求高手解释

------解决方案--------------------
个人愚解

一:自己理解
database 这个字符串应该是从某一个配置文件上读取的。

应是支持多数据库的意思

不过像楼主那样可能不太严谨

if(database.toLowerCase().trim().equals("oracle"))
System.out.println("1");
else if(database.toLowerCase().trim().equals("mysql"))
System.out.println("2");
else if(database.toLowerCase().trim().equals("sqlserver"))
System.out.println("3");

二:标题理解

按照楼主这段代码的意思是说:
如果database这个字符串是oracle的话 就在控制台打印1
否则打印2


------解决方案--------------------
没明白楼主的意思 

从代码上来看,应该是这样的:
如果连接的数据库是oracle的话,打印“1”,否则(其它数据库)打印“2”
------解决方案--------------------
看楼主这意思,明显的说话不标准,我猜想楼主是不是判断数据库是不是oracle的?

用这个java.sql.DatabaseMetaData.getDriverName()可以判断下试试
------解决方案--------------------
就看database这个变量的值是什么了。。是oracle就输出1..其他的就输出2
------解决方案--------------------
探讨

这样就不是很明显了吗?
if(database.equals("oracle")){
System.out.println("1");
}else {
System.out.println("2");