Tag: java

谷歌Gson – 反序列化列表<class>对象? (通用型)

我想通过谷歌Gson传递一个列表对象,但我不知道如何反序列化genericstypes。 我看了这个 (BalusC的回答)之后试了一下: MyClass mc = new Gson().fromJson(result, new List<MyClass>(){}.getClass()); 但是后来我在eclipse中得到一个错误:“新的List(){}types必须实现inheritance的抽象方法…”,如果我使用快速修复,我会得到一个超过20个方法存根的怪物。 我很确定有一个更简单的解决scheme,但我似乎无法find它! 编辑: 我现在有 Type listType = new TypeToken<List<MyClass>>() { }.getType(); MyClass mc = new Gson().fromJson(result, listType); 不过,我在“fromJson”一行中得到以下例外: java.lang.NullPointerException at org.apache.harmony.luni.lang.reflect.ListOfTypes.length(ListOfTypes.java:47) at org.apache.harmony.luni.lang.reflect.ImplForType.toString(ImplForType.java:83) at java.lang.StringBuilder.append(StringBuilder.java:203) at com.google.gson.JsonDeserializerExceptionWrapper.deserialize(JsonDeserializerExceptionWrapper.java:56) at com.google.gson.JsonDeserializationVisitor.invokeCustomDeserializer(JsonDeserializationVisitor.java:88) at com.google.gson.JsonDeserializationVisitor.visitUsingCustomHandler(JsonDeserializationVisitor.java:76) at com.google.gson.ObjectNavigator.accept(ObjectNavigator.java:106) at com.google.gson.JsonDeserializationContextDefault.fromJsonArray(JsonDeserializationContextDefault.java:64) at com.google.gson.JsonDeserializationContextDefault.deserialize(JsonDeserializationContextDefault.java:49) at com.google.gson.Gson.fromJson(Gson.java:568) at com.google.gson.Gson.fromJson(Gson.java:515) at com.google.gson.Gson.fromJson(Gson.java:484) at com.google.gson.Gson.fromJson(Gson.java:434) […]

Android SDK安装不会findJDK

我正在尝试在Windows 7 x64系统上安装Android SDK。 jdk-6u23-windows-x64.exe ,但Android SDK安装程序拒绝继续,因为它找不到JDK安装。 这是一个已知的问题? 有没有解决scheme?

Java NIO FileChannel与FileOutputstream性能/实用性

我试图找出当我们使用nio FileChannel与正常的FileInputStream/FileOuputStream来读写文件到文件系统时,性能(或优势)是否有任何区别。 我观察到,在我的机器上都执行在同一级别,也多次FileChannel方式是慢的。 请问我能比较这两种方法了解更多细节。 这里是我使用的代码,我正在testing的文件大约是350MB 。 如果我不在随机访问或其他这样的高级function,是使用基于NIO的文件I / O类的一个很好的select? package trialjavaprograms; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.InputStream; import java.nio.ByteBuffer; import java.nio.channels.FileChannel; public class JavaNIOTest { public static void main(String[] args) throws Exception { useNormalIO(); useFileChannel(); } private static void useNormalIO() throws Exception { File file = new File("/home/developer/test.iso"); File oFile = new File("/home/developer/test2"); […]

Spring MVC中的@ModelAttribute是什么?

Spring MVC中@ModelAttribute的用途和用法是什么?

什么是LINQ的Java等价物?

什么是Java相当于LINQ?

Java 8 Iterable.forEach()与foreach循环

在Java 8中,以下哪项更好? Java 8: joins.forEach(join -> mIrc.join(mSession, join)); Java 7: for (String join : joins) { mIrc.join(mSession, join); } 我有很多可以用lambdas“简化”的循环,但是真的有使用它们的优点,包括性能和可读性吗? 编辑 我也将这个问题延伸到更长的方法 – 我知道你不能返回或打破拉姆达的父函数,这应该提到,如果他们比较,但还有什么可以考虑?

Java Persistence API中的FetchType LAZY和EAGER的区别?

我是Java持久性API和Hibernate的新手。 Java Persistence API中的FetchType.LAZY和FetchType.EAGER什么区别?

我如何使方法返回types通用?

考虑这个例子(典型的OOP书籍): 我有一个Animal课,每个Animal可以有很多朋友。 像Dog , Duck , Mouse等子类添加特定的行为,如bark() , quack()等 这是Animal类: public class Animal { private Map<String,Animal> friends = new HashMap<>(); public void addFriend(String name, Animal animal){ friends.put(name,animal); } public Animal callFriend(String name){ return friends.get(name); } } 以下是一些包含大量types转码的代码片段: Mouse jerry = new Mouse(); jerry.addFriend("spike", new Dog()); jerry.addFriend("quacker", new Duck()); ((Dog) jerry.callFriend("spike")).bark(); ((Duck) jerry.callFriend("quacker")).quack(); 有什么办法可以使用generics的返回types来摆脱types转换,所以我可以说 jerry.callFriend("spike").bark(); jerry.callFriend("quacker").quack(); […]

如何将堆栈跟踪转换为string?

将Throwable.getStackTrace()的结果转换为描述堆栈跟踪的string的最简单方法是什么?

o显示图像

我想通过点击一个button,将图像从networking显示到另一个Jframe中的面板,但每当我点击button,图像加载,在此期间,当前窗体可能会冻结,一旦图像加载显示窗体与图像..我怎样才能避免forms冻结,因为它是非常刺激的情况 我的代码:: 我目前的class级 private void btn_TrackbusActionPerformed(java.awt.event.ActionEvent evt) { try { sendMessage("Query,map,$,start,211,Arsenal,!"); System.out.println(receiveMessage()); } catch (UnknownHostException ex) { Logger.getLogger(client_Trackbus.class.getName()).log(Level.SEVERE, null, ex); } catch (IOException ex) { Logger.getLogger(client_Trackbus.class.getName()).log(Level.SEVERE, null, ex); } catch (Exception ex) { Logger.getLogger(client_Trackbus.class.getName()).log(Level.SEVERE, null, ex); } client_trackedbus nextform=new client_trackedbus(planform,connection,packet_receive,packet_send); this.setVisible(false); this.dispose(); nextform.setVisible(true); // TODO add your handling code here: } 我的下一个class,显示图像 public class client_trackedbus […]