如何在java中将字符映射到数字位置?

例如 输入:[‘A’,’Z’,’F’,’D’,…] 输出:[0,25,5,3,…] 在C中,我只是从’A’中减去char,但我似乎无法在java中执行此操作。

将字符串转换为加密密钥,反之亦然java

我目前正致力于将键转换为字符串,反之亦然。 它适用于公钥转换,并将私钥转换为String。 由于某种原因,相同的代码不会将String转换回私钥,这是我无法弄清楚的。 转换器代码是: import java.security.KeyFactory; import java.security.PrivateKey; import java.security.PublicKey; import java.security.spec.X509EncodedKeySpec; import sun.misc.BASE64Decoder; import sun.misc.BASE64Encoder; @SuppressWarnings(“restriction”) public class KeyConvert { public static PublicKey stringToPublicKey(String s) { BASE64Decoder decoder = new BASE64Decoder(); byte[] c = null; KeyFactory keyFact = null; PublicKey returnKey = null; try { c = decoder.decodeBuffer(s); keyFact = KeyFactory.getInstance(“DSA”, “SUN”); } catch […]

查找JList的所选项目并实时显示

我有一个JList ,我正在显示一些ID。 我想捕获用户点击的ID并在JLabel上显示它。 String selected = jlist.getSelectedItem().toString(); 上面的代码给出了我选择的JList值。 但是这个代码必须放在一个按钮事件中,当我点击按钮时,它将获得JList值并将其分配给JLabel 。 但是,我想要做的是,只要用户单击JList的项目以实时更新JLabel 。 (无需单击按钮即可触发操作)

具有数据模型对象的Demeter定律

昨天我从休假回来工作,在我们的日常站立中,我的队友们提到他们正在重构我们的java代码中的所有模型对象以删除所有的getter和setter,并使模型字段成为所有公共对象,调用Law of Law德米特之所以这样做是因为 为了方便我们遵守得墨忒耳定律:模块不应该知道它操纵的“物体”的内部。 由于数据结构不包含任何行为,因此它们自然会暴露其内部结构。 因此,在这种情况下,德米特不适用。 我承认我必须了解我对LoD的了解,但对于我的生活,我找不到任何迹象表明这符合法律的精神。 我们模型中的getter / setter都不包含任何业务逻辑,这是他这样做的理由,因此这些对象的客户端无需了解是否在get / set方法中执行了某些业务逻辑。 我认为这是对需要“对象结构的内部知识”意味着什么的误解,或者至少在字面意义上并且在这个过程中打破了一个非常标准的约定。 所以我的问题是,直接暴露模型对象内部结构而不是通过LoD名称中的getter / setter实际上是否有意义?

如何将请求从servlet转发到struts2的动作?

我想像这样使用RequestDispacher Servlet的请求转发给Action RequestDispatcher dispatcher=request.getRequestDispatcher(“hello.action”); dispatcher.include(request, response); 它不起作用。 我该如何解决这个问题?

JUnit 4:在测试运行之前在测试套件中设置东西(比如测试的@BeforeClass方法,仅​​用于测试套件)

我想在(restful)webservice上做一些function测试。 testsuite包含一堆测试用例,每个测试用例在webservice上执行几个HTTP请求。 当然,Web服务必须运行或测试失败。 🙂 启动Web服务需要几分钟(它会解决一些繁重的数据),因此我希望尽可能不频繁地启动它(至少所有只有来自服务的GET资源可以共享一个的测试用例)。 那么在测试运行之前,有没有办法在测试套件中设置炸弹,就像测试用例的@BeforeClass方法一样?

org.hibernate.LazyInitializationException:如何正确使用Hibernate的延迟加载function

使用Hibernate和lazy = true模式从数据库加载对象列表时遇到了一些问题。 希望有人可以帮助我。 我有一个名为UserAccount的简单类,如下所示: public class UserAccount { long id; String username; List mailAccounts = new Vector(); public UserAccount(){ super(); } public long getId(){ return id; } public void setId(long id){ this.id = id; } public String getUsername(){ return username; } public void setUsername(String username){ this.username = username; } public List getMailAccounts() { if […]

类型Map 不适用

由于接口,我实现了以下JAVA方法: public String importDocument(ImportSource source, Map paramMap); 当我尝试做以下时,我收到编译警告。 片段: paramMap.put(“Key”, “Value”); 错误: 方法put(字符串,捕获#1-of?extends Object)在Map类型中不适用于参数(String,String) 为什么?

使用Spring在Hibernate中配置内置的c3p0池

我了解到要在hibernate中配置c3p0池,我们可以在hibernate.cfg.xml中编写配置如下: 2 5 600 0 300 1 但是我使用Spring配置了Hibernate。 当我尝试在下面做时,它将无法工作: 我已经阅读过使用可以使用Spring配置的独立c3p0池,但有没有办法可以使用Spring在Hibernate中配置内置的c3p0池? 启发我因为我是初学者。

如何附加到AES加密文件

我正在编写某种生成加密日志文件的记录器。 不幸的是,密码学不是我的强项。 现在我可以写入文件,然后关闭文件。 然后我可以打开它,附加一些消息,再次关闭,解密后我在文件中间看到填充字节。 有没有办法处理加密文件,而不必每次我想附加一些消息时解密它? 编辑 :更多细节。 当前实现使用CipherOutputStream。 据我所知,没有办法寻求使用它。 如果我能控制输出数据大小可以被块大小整除,我可以使用’NoPadding’选项吗?