在java中将整数转换为字节

参考Herbert Schildt撰写的第7版“Java The Complete Reference”第79页。 作者说:“如果整数的值大于一个字节的范围,它将以模数(整数除法的余数除以)字节的范围减少”。 java中的字节范围是-128到127.因此,适合一个字节的最大值是128.如果为一个字节分配了一个整数值,如下所示: int i = 257; byte b; b = (byte) i; 由于257越过127的范围,257%127 = 3应该存储在’b’中。 但我得到的输出为1而不是3.在理解这个概念时我哪里出错了?

LibGDX切换屏幕时保存进度

如何切换屏幕并仍保存当前游戏的进度? 例如,当你按Tab键时,我有一个额外的屏幕,显示有关播放器的一些信息(属性,统计数据等),但是当你再次切换屏幕以恢复你的游戏时,再次调用show方法而你输了所有…我知道的唯一方法是在你隐藏屏幕以某种格式保存游戏并将其加载到show之前但我非常怀疑这是正确的方法,因为会有一个真正的性能问题当你快速切换屏幕时…我需要一种方法来保持前一个屏幕的数据,而不是每次显示屏幕时都将其初始化。 这也适用于技能树和库存,也需要为整个游戏会话保存。 保存游戏文件格式的归档加载应该只在屏幕更改时进行一次。 有任何想法吗?

Eclipse – 链接包?

在Eclipse中是否可以使用不在项目文件夹中的包,而不将其复制到项目文件夹? 我希望Eclipse每次都能使用来自specificig文件夹的最新文件。 例如: PACKAGE A —————————– src package Client Client.java PACKAGE B —————————– src package Gui Gui.java 现在,我想使用package.Gui.Gui中的package.Client.Client,而不在PACKAGE B中复制PACKAGE A.我只想链接到它。 有人能帮我吗?

没有deleteKey命令从BKS文件丢失密钥

我在我的Android应用程序中使用密钥库(BKS格式)来存储公共私钥对。 该应用程序使用了很长时间,并有10多个公共私钥对。 突然之间,应用程序的主要function之一停止了工作。 发现根本原因如下: BKS文件中只剩下一个公共私钥对。 所有其他密钥对都丢失了。 我在代码中validation了应用程序中的任何位置都没有调用KeyStore.deleteEntry(别名)。 如果出现问题我唯一能找到的地方如下: 我们创建一个密钥对并使用以下方法设置它: KeyStore.setKeyEntry(keyId, keyPair.getPrivate(), getKeyStorePassword(), certChain); 上述方法的javadoc声明如下:如果给定别名已存在,则与给定密钥相关联的密钥库信息将被给定密钥(可能还有证书链)覆盖。 通常,从服务器获取的字符串是UUID,用作别名以在KeyStore中设置新的KeyPair。 因此,新别名与密钥库中已存在的别名相同的可能性非常小。 即使是这种情况,它也只会覆盖一对密钥对。 但是,在这种情况下,大约10个以上的密钥对丢失了。 有没有人知道导致这种密钥对丢失的任何已知问题? 附加信息: 我发现与每个密钥对的公钥相关联的证书仅在1年内有效。 我认为当在密钥库中设置新密钥对时,可以删除证书过期的密钥对。 但是,当我通过将有效期更改为30天来执行测试用例,并将设备时间更改超过30天时,无法再现该问题。 还有一件事我不确定它是否与此问题相关:目前生成的所有证书的序列号是BigInteger.ONE: X509v1CertificateBuilder certBuilder = new JcaX509v1CertificateBuilder(subject,BigInteger.ONE,notBefore,notAfter,subject,keyPair.getPublic()); 我认为这是错误的,但是,我不确定这是否会导致我所遇到的问题。 以下是设备中出现此问题的安全提供程序列表( Security.getProviders() ): AndroidKeyStoreBCWorkaround版本1.0 AndroidOpenSSL版本1.0 BC版本1.52 加密版1.0 HarmonyJSSE 1.0版 AndroidKeyStore版本1.0 因此,所有Java加密操作都是使用AndroidKeyStoreBCWorkaround版本1.0完成的。 该设备是Nexus 5,Android 6.0.1。

Java通过字符子串对字符串数组进行排序

我需要通过字符的子字符串对字符串数组进行排序,如下所示: [0] = “gtrd3455”; [1] = “wsft885”; [2] = “ltzy96545”; [3] = “scry5558”; [4] = “lopa475”; 我需要按照以下“3455,885,96545,5558,475”进行排序我需要对数组的前4个字符进行子串,对其进行排序并在数组中显示,如下面的输出。 输出应该是一个数组,如: [0] = “ltzy96545”; [1] = “scry5558”; [2] = “gtrd3455”; [3] = “wsft885”; [4] = “lopa475”; 我如何在Java中执行此操作的示例?

Spring Boot / Spring LDAP获取用户成员列表

我想通过从如下结构的LDAP存储库查询其ID来获取用户属性的列表 dn: uid=E000001 ,ou=People,o=Company,o=Internal cn: BOB DOLE statusid: active memberof: cn=foo_group, cn=Foos, ou=Groups, o=Company,o=Internal memberof: cn=bar_group, cn=Foos, ou=Groups, o=Company,o=Internal dn: uid=E000002 ,ou=People,o=Company,o=Internal cn: MARK TEST statusid: active memberof: cn=foo_group, cn=Foos, ou=Groups, o=Company,o=Internal memberof: cn=bar_group, cn=Foos, ou=Groups, o=Company,o=Internal 例如,我查询用户ID“E00001”。 我想要归还这个 [“cn=foo_group, cn=Foos, ou=Groups, o=Company,o=Internal”, “cn=bar_group, cn=Foos, ou=Groups, o=Company,o=Internal”

绘制点网格

我是图形编程的新手。 我正在尝试创建一个允许您绘制有向图的程序。 首先,我设法绘制了一组矩形(代表节点),并通过覆盖Java中的paint方法来实现平移和缩放function。 这一切似乎都运行得相当好,而没有太多的节点。 我的问题是在尝试绘制点网格时。 我首先使用了一小段测试代码,使用两个嵌套的for循环覆盖了一个点网格: int iPanX = (int) panX; int iPanY = (int) panY; int a = this.figure.getWidth() – iPanX; int b = this.figure.getHeight() – (int) iPanY; for (int i = -iPanX; i < a; i += 10) { for (int j = -iPanY; j < b; j += 10) { g.drawLine(i, j, […]

用2个地理点计算距离

我想计算两个地理点之间的距离,现在在我的学校和我的房子之间。 距离应该接近1200米。 我得到了这些没有意义的价值观。 104.247784180256 35.017200205306295 (if I reverse lat and lon) 谷歌地图说: 51.987957 is N 5.911305 is O 是51.987957 lat或lon? 根据我的文件,我从哪里获得GPS信号应该是纬度,但我对此有所怀疑。 float R = 6371; // km // 104.247784180256 float lat1 = 5.894213; // school float lon1 = 51.98381; // school float lat2 = 5.909912; // keuken float lon2 = 51.988781; // keuken // switched […]

Hibernate DetachedCriteria多个结果导致java

这是我的SQL语句。 SELECT USER_PROFILE.FIRST_NAME, USER_PROFILE.LAST_NAME, USER_PROFILE.USER_TYPE FROM USER_PROFILE INNER JOIN USER_LOGIN_STATUS ON USER_PROFILE.USER_ID=USER_LOGIN_STATUS.USER_ID ORDER BY USER_PROFILE.FIRST_NAME 而我正在尝试执行下面的代码,我认为这相当于hibernateDetachedCriteria并且预计只有两个数据作为结果。 DetachedCriteria dc = getDetachedCriteria(); DetachedCriteria userLoginCriteria = DetachedCriteria.forClass(UserLoginStatus.class); userLoginCriteria.setProjection(Projections.distinct(Projections.property(“userId”))); dc.add(Subqueries.propertyIn(UserField.id.name(), userLoginCriteria)); DetachedCriteria profileCriteria = dc.createCriteria(“profile”); profileCriteria.addOrder(Order.asc(“firstName”)); return getAll(dc, pageSetting); 但不幸的是,这是意想不到的结果:我有一个多数据结果。 名称| 输入| 本琼斯| 用户| 本琼斯| 用户| 汤姆荷马| 嘉宾| 汤姆荷马| 嘉宾| 有人知道确切的等效DetachedCriteria或解决方案吗? 非常感谢, xtian

“无效的签名文件摘要”错误通过Maven添加Janino包

我正在尝试通过Maven存储库向Janino 2.7.6添加依赖项。 当我尝试运行该应用程序时,我收到此错误: — exec-maven-plugin:1.2.1:exec (unpack-dependencies) @ JanineAttemp2 — — exec-maven-plugin:1.2.1:exec (default-cli) @ JanineAttemp2 — java.lang.SecurityException: Invalid signature file digest for Manifest main attributes at sun.security.util.SignatureFileVerifier.processImpl(SignatureFileVerifier.java:284) at sun.security.util.SignatureFileVerifier.process(SignatureFileVerifier.java:238) at java.util.jar.JarVerifier.processEntry(JarVerifier.java:273) at java.util.jar.JarVerifier.update(JarVerifier.java:228) at java.util.jar.JarFile.initializeVerifier(JarFile.java:383) at java.util.jar.JarFile.getInputStream(JarFile.java:450) at sun.misc.URLClassPath$JarLoader$2.getInputStream(URLClassPath.java:776) at sun.misc.Resource.cachedInputStream(Resource.java:77) at sun.misc.Resource.getByteBuffer(Resource.java:160) at java.net.URLClassLoader.defineClass(URLClassLoader.java:442) at java.net.URLClassLoader.access$100(URLClassLoader.java:73) at java.net.URLClassLoader$1.run(URLClassLoader.java:367) at java.net.URLClassLoader$1.run(URLClassLoader.java:361) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:360) […]