您好我正在尝试将long值转换为String但却出错
Type mismatch: cannot convert from long to String
这是代码块请看看
URLConnection localURLConnection = new URL("http://hugosys.in/SQLite/sk2.db").openConnection();
int i = localURLConnection.getContentLength();
BufferedInputStream localBufferedInputStream = new BufferedInputStream(localURLConnection.getInputStream());
ByteArrayBuffer localByteArrayBuffer = new ByteArrayBuffer(1024);
FileOutputStream localFileOutputStream = new FileOutputStream(Download_Db.this.dbFile);
long l = 0L;
for (;;)
{
int j = localBufferedInputStream.read();
if (j == -1)
{
localFileOutputStream.flush();
localFileOutputStream.close();
return;
}
l += j;
localByteArrayBuffer.append((byte)j);
if (localByteArrayBuffer.length() > 2000)
{
byte[] arrayOfByte = localByteArrayBuffer.toByteArray();
localByteArrayBuffer.clear();
String[] arrayOfString = new String[1];
arrayOfString[0] = (l / i);
publishProgress(arrayOfString);
localFileOutputStream.write(arrayOfByte);
}
}
return;
答案 0 :(得分:2)
您正在long
中存储String[]
值。
所以改变这一行
arrayOfString[0] = (l / i);
进入
arrayOfString[0] = String.valueOf(l / i);
答案 1 :(得分:1)
了解如何使用Java API
long longValue = 42l;
String stringValue = String.valueOf(longValue);
(http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html#valueOf(long))
答案 2 :(得分:1)
试试这个 arrayOfString [0] = String.valueOf((l / i))
答案 3 :(得分:1)
您可以使用String.valueOf(longValue)。
根据您的代码,您必须使用
arrayOfString[0] = (l / i);
替换为
arrayOfString[0] = String.valueOf((l / i));
//将long转换为String
答案 4 :(得分:0)
String.valueOf(longValue);// converts long to String
答案 5 :(得分:0)
String s = String.valueOf(longValue);
答案 6 :(得分:0)
将long值转换为String
String val= String.valueOf(longVal);
所以在你的代码中用这个替换arrayOfString [0] =(l / i):
arrayOfString[0] =String.valueOf (l / i);