我解析JSON数据,有book id,这是一个很大的数字:
"Books":[{"ID":88401542,"Title":"Building and Testing with Gradle","SubTitle":"Understanding Next-Generation Builds","Description":"Build and test software written in Java and many other languages with Gradle, the open source project automation tool that's getting a lot of attention. This concise introduction provides numerous code examples to help you explore Gradle, both as a b ..."},{"ID":2676913857...}
long book_id = 0 ;
try {
book_id = jsonBook.getInt(BOOK_ID);
Log.v(LOG_TAG, "book id: " + );
它给我打印了一些愚蠢的负数:
book id: -1814548740
这是什么原因呢?难道是因为我打印的时候没有cast? 我的日志语句应该是:
Log.v("book id: " + new Long (book_id)) ;
或
Log.v("book id: " + new Long (book_id.toString())) ;
或
Log.v("book id: " + new String ( new Long(book_id))) ;
最佳答案
由于您的 Book_ID 是 Long,因此您应该使用 getLong
来获取值:
book_id = jsonBook.getLong(BOOK_ID);
关于java - java中打印时 'long'类型的数字改变了它的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29163061/