使用java打印文件扩展名

时间:2015-12-16 13:13:50

标签: java

我是java的新手

我正在尝试打印文件的扩展名。

(String)globalMap.get("tFileList_1_CURRENT_FILE"),这是我的文件放置不同的扩展名。

我写的代码显示了这个错误:

  

“你不能将变量分配给extesion”

任何人都可以帮助我吗?

String str= (String)globalMap.get("tFileList_1_CURRENT_FILE");
String extension = str.substring(str.lastIndexOf(".") + 1);

if (extension = csv) { 
    System.out.println("good");
}
else if (extesion = bad) { 
    System.out.println("already processed");
}
else {   
    System.out.println("check"); 
}

2 个答案:

答案 0 :(得分:2)

尝试改变这一点:

  if (extension = csv)

使用:

   if (extension.equals("csv"))

而且:

 (extesion = bad)

有了这个:

  (extension.equals("bad"))

使用equals()代替=,因为此方法会将此字符串与指定的对象进行比较。当且仅当参数不为null并且是一个表示与此对象相同的字符序列的String对象时,结果才为真。

但是=是一个简单的赋值运算符。

答案 1 :(得分:1)

你的代码看起来很少被误导,
1.使用equals代替=

if (extension.equals("csv"))    
{ 
   System.out.println("good");    
}    
else if (extension.equals("bad"))    
{ 
  System.out.println("already processed");
}    
else 
{   
  System.out.println("check");     
}

修改详情
=是赋值运算符,用于为变量赋值 ==是比较运算符,它通过引用比较两个对象并生成结果truefalse
if我们总是需要布尔条件告诉编译器何时执行if

中的语句

在我们的案例中,我们使用equals代替==,因为我们正在尝试比较字符串,如果我们使用==,那么它将比较它们的引用而不是包含在变量。