未知深度java的嵌套哈希映射

我有一个要求,我需要有一个嵌套的hashmap。 但深度将在运行时决定。 例如,如果在运行时,用户说3,那么我的hashmap应该是这样的 HashMap<String, HashMAp<String, HashMap>> 如果他说4那么 HashMap<String, HashMAp<String, HashMap<String, HashMap>>> 有没有办法实现这种function? 其他一些API或工具包??

maven:如何以独立于操作系统的方式加载tools.jar / classes.jar?

我正在使用一个maven插件,它需要一个包含在jdk的(windows)tools.jar中的类(mac它在classes.jar中)。 我将此添加为插件的显式依赖项,如下所示: sun.jdk classes 1.6.0 system ${java.home}/../Classes/classes.jar 如果我使用的是OS X,则可以正常工作。但是,如果我在Windows机器上进行开发,它就无法工作。 而且,我不喜欢使用../Classes。 是否有更好的方法加载JDK提供的类? 注意:我理解默认(Sun,现在是Oracle)是在lib / tools.jar中使用这些类发布JDK,并且唯一真正的exception值是使用重新打包的Apple JDK开发的那些。 尽管如此,我仍然对一个系统独立的方法感兴趣 – 它不依赖于特定的路径。

Struts 2上的ModelDriven

我正在使用hibernate,struts2和spring开发一个项目,但我的问题是struts。 我创建了3个扩展ActionSupport的类,并在所有类中为同一个类实现了modeldriven。 我已经实现了一些在调用操作时要执行的方法。 类的结构类似于(Class1Action.java): public class Class1Action extends ActionSupport implements ModelDriven { private ModelDrivenClass modelDrivenClass; // getter and setter for modelDrivenClass public String methodName() { System.out.println(“Entrou!”); return SUCCESS; } @Override public Sensor getModel() { return getSensor(); } } 在struts.xml上,我使用下一个结构(struts.xml)创建了3个动作: methodName success.jsp input.jsp 除此之外,我有一个带有3个按钮的JSP,用于引用不同的struts动作,以及几个字段,用于表示3个动作类中使用的模型驱动类的字段,以及标记内的所有字段。 问题是当我填充字段并且在单击任何按钮之后,字段中的数据丢失。 我试图删除从validation中排除方法的3个struts行,但是不是字段是空的,在第二次我按下相同的按钮时,他返回一个输入并重定向到input.jsp。 下一个代码来自success.jsp,即起始页面: 我不知道这是否是正确的方法,但是当我只使用一个实现modeldriven的类时,我使它工作,并且这个类有所有3个方法。 我只是尝试这种方式,因为我想让我的代码清楚,并且只有一个类中没有所有方法。

相互认证Android和Tomcat

我想为我的应用和服务器进行相互认证。 我按照这一步: 1)创建证书。 和服务器tomcat的密钥库(tomcat.keystore) 2)创建证书。 为客户 3)导入客户端证书。 进入服务器密钥库 4)为Android创建一个bks密钥库(smartssl.bks) 5)导入证书。 服务器和客户端进入密钥库Android 现在我配置Tomcat: 在Android应用程序中,我使用Volley框架: InputStream keyStore = getResources().openRawResource(R.raw.smartssl); // Usually getting the request queue shall be in singleton like in {@see Act_SimpleRequest} // Current approach is used just for brevity RequestQueue queue = Volley .newRequestQueue(Act_SsSslHttpClient.this, new ExtHttpClientStack(new SslHttpClient(keyStore, “pass”, 443))); StringRequest myReq = new StringRequest(Method.GET, “https://192.168.1.4:8443/REST/app/generali/getA”, […]

使用Process动态运行java代码

我创建了一个类,它动态编译,加载CustomClassLoader,并通过调用它的main方法执行内存中的 java源(即:没有类文件)java源代码。 我需要捕获StdOut , StdIn和StdErr ,尽管在我当前的代码中不可能这样做。 ( Compiler API + Classloader + Reflection ) 我的要求可能与此问题中的要求相同 – 并且如接受的答案所示 – 使用java.lang.Process 。 如果我在文件系统中有物理文件,这会更容易,但在这种情况下我没有。 我打算删除Classloader + Reflection策略并改用建议; 虽然,我不熟悉实际使用Process类重定向Std* 。 我怎么能在Java 7中做到这一点? (片段非常受欢迎)或者更重要的是,有更好的方法吗?

在sqlite数据库android中保存和检索键值对

美好的一天,基本上我正在寻找一种方法来检索和保存关于sqlite数据库中的列项的键值对,以便我可以更新列表视图。 示例:如果我有一个名为“group”的列,其项目条目名为“family”; 关于该项目,我希望能够保存或检索仅为该项目“家庭”的联系人列表(姓名和号码)。 同一个项目条目。 什么是最好的方法呢? 我尝试通过json使用Hashmap的ArrayList将联系人详细信息保存在表的列中。 但这样做有麻烦。 我试过这个: 保存时: //already have the name and number from using the android contacts api final ArrayList<HashMap> contacts = new ArrayList<HashMap>(); HashMap map = new HashMap(); map.put(name, number); contacts.add(map); JSONObject json_contacts = new JSONObject(); try { json_contacts.put(“contacts_Arrays”, new JSONArray(contacts)); arraylist_to_string = json_contacts.toString(); } catch (JSONException e) { // TODO […]

应用程序在Android 4.0上崩溃,但不是2.3 – 奇怪的exception

我正在开发2.3版的Android游戏,并开始在更多设备上进行测试,以便我可以发布它。 在一些,不是所有4.0设备上,我的游戏在最小化时崩溃。 你可以锁定手机并将其解锁,游戏恢复并暂停就好了。 当您尝试返回主屏幕时发生崩溃。 错误日志如下所示: 07-18 14:33:44.839 E/AndroidRuntime(15542)FATAL EXCEPTION: Thread-662 07-18 14:33:44.839 E/AndroidRuntime(15542)java.lang.NullPointerException 07-18 14:33:44.839 E/AndroidRuntime(15542)at com.petronicarts.stormthecastle.MainThread.run(MainThread.java:55) 07-18 14:33:44.846 W/IInputConnectionWrapper(15542)showStatusIcon on inactive InputConnection 07-18 14:33:45.081 I/ActivityManager(178)No longer want com.android.packageinstaller (pid 15351): hidden #16 07-18 14:33:45.143 W/InputDispatcher(178)channel ’41bb4d28 com.android.packageinstaller/com.android.packageinstaller.InstallAppProgress (server)’ ~ Consumer closed input channel or an error occurred. events=0x8 07-18 14:33:45.143 E/InputDispatcher(178)channel ’41bb4d28 com.android.packageinstaller/com.android.packageinstaller.InstallAppProgress (server)’ […]

Java应用程序:mouseDragged事件通常不会被执行

是否有一种方法可以更频繁地调用mouseDragged Event(在我的情况下,绘制一个颜色?我需要它用于平滑绘图,因为现在,如果你移动得太快,它不会绘制我的所有路径。此外,我有一个2D数组存储像素的颜色,所以如果我试图通过另一种方式解决问题也有问题,这就是为什么我认为增加mouseDragged Frequency将是最好的事情做 谢谢

Android使用包含另一个hashmap的hashmap实现Parcelable对象

这是Android实现Parcelable对象的扩展, 它有hashmap但我的有点不同。 我有这些课程 public class EventDetails implements Parcelable { Private String id; Private String eventName; Private Long eventUnixTime; Private HashMap pickedUser = null; } 和 public class User implements Parcelable { private String email; private String userName; private String userPicture; private Boolean hasLoggedInWithPassword; private HashMap dateJoined = null; public User() { } public User(String email, […]

在hh中将时间从hh:mm:ss转换为hh:mm

我想将时间转换为hh:mm从hh:mm:ss它来自数据库(我的sql),forms为hh:mm:ss。 我尝试了以下代码,但我没有得到我想要的。 try { s= HibernateUtil.currentSession(); tx=s.beginTransaction(); Query query = s.createQuery(“select from Dailytimesheet dailytimesheet where dailytimesheet.IdDailyTimeSheet=6083 ” ); for(Iterator it=query.iterate();it.hasNext();) { if(it.hasNext()) { Dailytimesheet object=(Dailytimesheet)it.next(); String dt=object.getTimeFrom().toString(); SimpleDateFormat sdf = new SimpleDateFormat(“HH:mm”); long ms=0; try { ms = sdf.parse(dt).getTime(); } catch (ParseException e) {e.printStackTrace();} Time ts = new Time(ms); out.println(“”+ts+””); 谢谢你的帮助。