Tag: 字符串

返回语句之前的局部变量,是否重要?

很抱歉,如果这是一个新手问题,但我找不到答案。 这样做更好: int result = number/number2; return result; 要么: return number/number2; 我知道整数使用内存所以我猜它会略微降低性能? 但另一方面它使东西更清晰,特别是当int / string是一个长计算时。

String.split在使用点时返回null

我有这个简单的代码: String ip = “1.2.3.4”; String[] ipArray = ip.split(“.”); System.out.println(ipArray[1]); 并且当它命中System.out.println时, ipArray为null(抛出空指针exception)。 我的问题是为什么ipArray保持null,即使我将它设置为拆分每个ip的.s?

Java AES加密整个字符串

如何使用AES加密整个字符串。 我下面的代码只加密到第一个识别的空间:(。我该如何解决这个问题?谢谢 SecretKeySpec key = new SecretKeySpec(salt.getBytes(), “AES”); Cipher cipher = Cipher.getInstance(“AES/ECB/PKCS5Padding”, “SunJCE”); cipher.init(Cipher.ENCRYPT_MODE, key); String result = new String(cipher.doFinal(message.getBytes())); System.out.println(“Encrypted:” + result); 编辑 OMG我不能相信这一点,我怎么可能想念这个:(因为我的扫描仪是下一个而不是nextLine …这一天有多尴尬这让我感到尴尬,直到现在才真正想到检查那个。问题解决了:)谢谢大家

validationString是否为hex

我有一个类似“09a”的字符串,我需要一种方法来确认文本是否为hex。 我发布的代码做了类似的事情,它validation字符串是十进制数。 我想做同样的事情,但对于hex。 private static boolean isNumeric(String cadena) { try { Long.parseLong(cadena); return true; } catch (NumberFormatException nfe) { JOptionPane.showMessageDialog(null,”Uno de los números, excede su capacidad.”); return false; } }

Java – 基于多个分隔符的拆分字符串

我基本上想要根据句子分割一个字符串,因此(为了我正在做的事情),每当有一个! , . , ? , : , ; 。 如何使用多个项目来分割数组? 谢谢!

如何检查字符串中是否包含至少一个字母表?

我想要这样的validation,My String必须至少包含一个字母。 我使用以下内容: String s = “111a11”; boolean flag = s.matches(“%[a-zA-Z]%”); 即使a在我的字符串中,flag也会给我false

Java是否有’@’字符来转义字符串引号?

我的字符串中有双引号,在C#我会这样做: string blah = @”this is my “”text”; 我怎么用Java做到这一点?

将Java字符串转换为字节数组

我有一个字节数组,我正在加密然后转换为字符串,以便它可以传输。 当我收到字符串时,我必须将字符串转换回字节数组,以便解密。 我已检查收到的字符串是否匹配发送的字符串(包括长度),但是当我使用str.getBytes()之类的东西将其转换为字节数组时,它与我的原始字节数组不匹配。 示例输出: SENT: WzShnf/fOV3NZO2nqnOXZbM1lNwVpcq3qxmXiiv6M5xqC1A3 SENT STR: [B@3e4a9a7d RECEIVED STR: [B@3e4a9a7d RECEIVED: W0JAM2U0YTlhN2Q= 任何想法我如何将收到的字符串转换为匹配发送的字节数组的字节数组? 谢谢

Java 8 Comparator nullsFirst naturalOrder困惑

这可能是一个简单的问题,但我想清楚地理解它…… 我有这样的代码: public final class Persona { private final int id; private final String name public Persona(final int id,final String name) { this.id = id; this.name = name; } public int getId(){return id;} public String getName(){return name;} @Override public String toString(){return “Persona{” + “id=” + id + “, name=” + name+’}’;} } 我正在测试这段代码: import static […]

String.replaceAll比自己完成工作慢得多

我有一段旧代码,用于在字符串中执行查找和替换标记。 它接收from和to的映射,迭代它们,对于每个对,迭代目标字符串,查找from使用indexOf() ,并用to的值替换它。 它完成StringBuffer上的所有工作,最终返回一个String 。 我用这一行替换了那段代码: replaceAll(“[,. ]*”, “”); 我进行了一些比较性能测试。 当比较1,000,000次迭代时,我得到了这个: 旧代码:1287ms 新代码:4605ms 3倍长! 然后我尝试用3次调用替换它来replace : replace(“,”, “”); replace(“.”, “”); replace(” “, “”); 结果产生了以下结果: 旧代码:1295 新代码:3524 2倍长! 任何想法为什么replace和replace都是如此低效? 我能做些什么来加快速度吗? 编辑:感谢所有答案 – 主要问题确实是[,. ]* [,. ]*没有做我想做的事。 将其改为[,. ]+ [,. ]+几乎等于非基于正则表达式的解决方案的性能。 使用预编译的正则表达式有所帮助,但是很少。 (这是一个非常适合我的问题的解决方案。 测试代码: 用正则表达式替换字符串:[,。 ] * 用正则表达式替换字符串:[,。 ] + 用正则表达式替换字符串:[,。 ] +和预编译模式