我有一个文本文件,我需要检查某个位置是否有"1"
或"0"
。请注意,它是我正在检查的数字的字符串表示。我试过这个:
RandomAccessFile dictionaryFile = new RandomAccessFile("path");
if("1".equals(new String(dictionaryFile.read()))){
// do stuff
}
但结果是:
ir/PersistentHashedIndex.java:322: error: no suitable constructor found for String(int)
while("1".equals(new String(dictionaryFile.read()))){
^
constructor String.String(String) is not applicable
(argument mismatch; int cannot be converted to String)
constructor String.String(char[]) is not applicable
(argument mismatch; int cannot be converted to char[])
constructor String.String(byte[]) is not applicable
(argument mismatch; int cannot be converted to byte[])
constructor String.String(StringBuffer) is not applicable
(argument mismatch; int cannot be converted to StringBuffer)
constructor String.String(StringBuilder) is not applicable
(argument mismatch; int cannot be converted to StringBuilder)
对我而言,String
需要一个字节数组而不是一个字节来初始化一个字符串。但我只想给它一个数字。我怎样才能做到这一点?我可以将"1"
转换为其字节表示吗?
答案 0 :(得分:1)
找不到适合String(int)的构造函数
这意味着您将整数值传递给 String
构造函数,而String
没有任何构造函数接受int
值。如果dictionaryFile.read()
返回int
。然后,你可以做
if (dictionaryFile.read() == 1)
{
<强> ==被修改== 强>
如果你被迫比较为String,那么你只需要添加空字符串。
String temp = dictionaryFile.read()+"";
if ("1".equals(temp))
{