【发布时间】:2014-02-10 23:41:48
【问题描述】:
我创建了私有布尔方法 isMp3() 但 java 说这个方法对于这种类型是未定义的。
if (directoryItem.isFile() && directoryItem.isMp3()){
resultListOfFiles.add(directoryItem);
}
我不想打磨任何值。 我想像布尔方法'isDirectory()'一样使用它。我知道,我做错了,请告诉我我的错误。
private boolean isMp3(){
Pattern pattern;
final String FILE_PATTERN = "([^\\s]+(\\.(?i)(mp3))$)";
pattern = Pattern.compile(FILE_PATTERN);
Matcher matcher = pattern.matcher(this.toString());
if (matcher.find()){
return true;
}
else{
return false;
}
}
如果我正确使用“this”语句?
【问题讨论】:
-
isMp3可能没什么问题。请包括编译错误和更多关于isMp3方法定义位置的详细信息。 -
你从哪里调用这个方法?私有意味着你不能在其他类中使用它,记住……包括子类。
-
directoryItem是什么类型的? -
DirectoryItem 是文件,我在创建方法的类中使用此方法。我没有错误日志,日食与我交战。
-
@Rudik 如果是
java.io.File,则不能调用isMp3()(因为它不是File的成员函数)。为什么不将File对象作为参数传递给您的方法?