【java - String类】教程文章相关的互联网学习教程文章

Java String Manipulation:比较Java中的相邻字符【代码】

我有以下问题给定一个字符串,返回一个“已清理”的字符串,其中相同的字符已被减少为单个字符.所以“yyzzza”会产生“yza”.stringClean("yyzzza") → "yza" stringClean("abbbcdd") → "abcd" stringClean("Hello") → "Helo"我尝试输入stringClean(“abbbcdd”)→“abcd”的代码 我的代码在下面.我在进行相邻字符比较后得到部分附加字符串,因此截至目前我正在附加stringBuilder“sb = abc”这不是正确的输出我应该得...

java – 为什么StringBuilder最终 – 与所有最终方法相比?

这个的动机是我对earlier question on StringBuilder best-practices的回答(“Wishful thinking”).如果StringBuilder是可扩展的,那么特定于域的子类可以扩展其流畅的接口,这将收紧StringBuilder传递给很多方法的代码.构建一个更大的字符串的部分. 我正在考虑向番石榴人提出建议 – 也许是StringBuilder委托. StringBuilder最终有什么额外的目的,而不是只有最终的方法?解决方法:如果所有方法都是final,则无法修改StringBuilder的当...

java – 为什么对象实例(null)上的toString()不会抛出NPE?【代码】

考虑下面一个:Object nothingToHold = null;System.out.println(nothingToHold); // Safely prints 'null'在这里,Sysout必须期待String.因此必须在实例上调用toString(). 那么为什么null.toString()工作得很棒? Sysout会照顾这个吗? 编辑:其实我用StringBuilder的append()看到了这个奇怪的东西.所以尝试了Sysout.两者的行为方式相同.那个方法也在照顾吗?解决方法:PrintWriter的println(Object)(当你编写System.out.println(...

java – ‘str = new String(bytes,“UTF8”)’和’bytes = str.getBytes(“UTF8”)’中的字节值不一样【代码】

我可以看到它们与我创建字符串的字节不同!我用“AES / CBC / PKCS5Padding”来获取字符串.public static void main(String[] args) {try {int randomNumber = CNStationQueueUtil.randInt(0, 99999);String key = "AES_KEY_TAKENUMB";byte[] bytes = EncryptHelper.encrypt(key, String.format("%%%d%%%d", 1001, randomNumber));String str = new String(bytes, "UTF8");System.out.println("str = " + str);System.out.println(...

字符串连接成StringBuilder java【代码】

我有一个遗留Java文件,它使用字符串连接来构建巨大的String对象.这是一个严重的性能问题.是否存在这样的方法,它执行以下操作String test="I am a very bad programmer" +"to use concatenation" +"Instead of StringBuilder" +" or StringBuffer";至StringBuilder strBuilder= new StringBuilder(); strBuilder.append("I am a bad programmer"); strBuilder.append("to use concatenation"); strBuilder.append("Instead of Strin...

java – Kotlin – 为非数据类生成toString()【代码】

情况: 我有一个带有lateinit字段的类,所以它们不在构造函数中:class ConfirmRequest() {lateinit var playerId: String }我想要一个包含所有字段的toString()方法,并且不想手动编写它,以避免锅炉打印.在Java中,我会使用Lombok @ToString注释来解决这个问题. 题: 有没有办法在Kotlin中实现它?解决方法:建议的方法是手动编写toString(或由IDE生成),并希望你没有太多这样的类. 数据类的目的是容纳85%的最常见情况,其中15%留给其...

java – 通过所有对象包含的String值对Set内的对象进行排序【代码】

好的,这是一个棘手的问题.我有一个集合列表.我想按顺序对集合中的对象进行排序. 想象一下,每一套都是在学校里代表一个班级.每组包含人物对象. person对象包含name的String值.在我循环并写出来之前,我想按名称安排人员. 是否有任何使用Collections.sort();或类似的东西来实现这一目标?for (Set<Person> s : listOfAllChildren) { for (Person p : s) {if(p.getClass().equalsIgnoreCase("Jones")){System.out.println(p.getN...

java – Intent.putExtra(String,Bundle)vs Intent.putExtra(Bundle)【代码】

这个问题可能听起来很愚蠢,但我知道什么时候把活动名称放在Intent.putExtra()中?在一种情况下,我们只使用bundle进行额外的操作,而在其他情况下,我们使用类名传递它.我有点困惑,如果我们使用Intent.putExtra(String,Bundle)我们已经在Intent构造函数中传递了活动名称了吗? 谢谢你的帮助!解决方法:我认为你的意思是putExtra(String,Bundle)vs putExtras(Bundle)(带s). 第一个添加捆绑包作为您提供的密钥的值.捆绑包是简单的对象值...

Java打印包含整数的String【代码】

我有一个疑问如下.public static void main(String[] args) throws IOException{int number=1;System.out.println("M"+number+1); }输出:M11 但我想把它打印成M2而不是M11.我无法编号,因为变量与for循环有关,如果我这样做会给我不同的结果,并且无法使用另一个print语句打印它,因为输出格式会发生变化. 请求您帮我正确打印.解决方法:尝试这个:System.out.printf("M%d%n", number+1);%n是换行符

java – 如何将String转换为其资源ID(Android Studio)【代码】

我的values / strings.xml文件中有一个xml字符串<string name="pokemon_d">150</string>我的控制器MainActivity.java中有字符串“150”.在我的MainActivity中,如何将该String转换为xml文件中pokemon_d String的资源ID?这甚至可能吗?解决方法:您不能按值获取标识符,但您可以使您的标识符名称看起来像一个值并通过字符串名称获取, 所以我建议, 使用您的String资源名称,例如resource_150 < string name =“resource_150”> 150< / s...

为什么要显示java.lang.ClassCastException:android.text.SpannableString不能强制转换为java.lang.String?【代码】

从任何浏览器页面复制String时,pasteData正常工作.但是,从消息发送项目编辑器(字段)复制SpannedString时,应用程序崩溃并显示以下错误消息:java.lang.ClassCastException: android.text.SpannableString cannot be cast to java.lang.String我的代码:// since the clipboard contains plain text. ClipData.Item item = clipBoard.getPrimaryClip().getItemAt(0);// Gets the clipboard as text. String pasteData = new String()...

StringFormat for Java布尔运算符【代码】

我知道它非常简单的问题.但我想知道布尔运算符的stringformat.例如,下面显示了integer,string和float的字符串格式.什么可以为布尔运算符true / false?System.out.printf("The value of the float " +"variable is %f, while " +"the value of the " + "integer variable is %d, " +"and the string is %s", floatVar, intVar, stringVar); 解决方法:‘b’或’B’general如果参数arg为null,则结果为“false”.如果arg是布尔值或布尔...

错误:尝试在空对象引用上调用虚方法’java.lang.Object android.content.Context.getSystemService(java.lang.String)’【代码】

public class AlarmTask implements Runnable{ // The date selected for the alarm private final Calendar date; // The android system alarm manager private final AlarmManager am; // Your context to retrieve the alarm manager from private final Context context;public AlarmTask(Context context, Calendar date) {this.context = context;this.am = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE...

NullPointerException:尝试在空对象引用上调用虚方法’boolean java.lang.String.equalsIgnoreCase(java.lang.String)’【代码】

参见英文答案 > What is a NullPointerException, and how do I fix it? 12个我在运行时收到此错误.java.lang.RuntimeException: Unable to start activity ComponentInfojava.lang.NullPointerException: Attempt to invoke virtual method‘boolean java.lang.String.equalsIgnoreCase(java.lang.String)’ on anull object reference堆栈跟踪:01-12 03:44:54.270: E/AndroidRuntime(1437):...

java – 检测String是否为数字的最优雅方法?【代码】

是否有更好,更优雅(和/或可能更快)的方式boolean isNumber = false; try{Double.valueOf(myNumber);isNumber = true; } catch (NumberFormatException e) { }…? 编辑:因为我不能选择两个答案我正在使用正则表达式,因为a)它优雅而且b)说“Jon Skeet解决了问题”是一个重言式,因为Jon Skeet本身就是所有问题的解决方案.解决方法:我不相信Java中有任何内容可以更快,更可靠地完成它,假设稍后您将要使用Double.valueOf(或类似)实际解...