【字符串拼接还在用StringBuilder?快试试Java8中的StringJoiner吧,真香!】教程文章相关的互联网学习教程文章

Java:String:equalsIgnoreCase vs将所有内容切换为大写/小写【代码】

我注意到有几种方法可以比较Java中的字符串. 我刚刚习惯于使用equalsIgnoreCase以避免出现区分大小写的字符串问题. 另一方面,其他人喜欢以大写或小写的方式传递所有内容. 从我的立场(即使技术上我坐着),我看不出真正的区别. 有人知道一种做法是否优于另一种做法?如果是这样,为什么?解决方法:使用equalsIgnoreCase是因为它比在比较之前将两个字符串转换为大写更具可读性.可读性胜过微优化. 什么更具可读性?if (myString.toUpperC...

Java toString – ToStringBuilder还不够;不会遍历【代码】

我需要能够遍历整个对象图并记录所有成员字段的所有内容. 例如:对象A具有对象B的集合,其具有对象C的集合,并且A,B,C具有其他字段,等等. Apache Commons ToStringBuilder是不够的,因为它不会遍历对象图或输出集合的内容. 有没有人知道另一个库会做这个或有一个代码片段来做到这一点?解决方法:您可以使用org.apache.commons.lang.builder.ReflectionToStringBuilder遍历整个树.诀窍在于,在ToStringStyle中,您需要遍历该值. ToString...

使用时间延迟将Swing组件中的String数组的内容显示为迭代. JAVA【代码】

我有一个字符串数组,我试图(逐个)显示为Java Swing组件中的幻灯片.我也试图在迭代之间添加延迟时间. 我尝试使用JTextArea执行此操作,并添加了一个动作侦听器.这是我现在的代码:private class myActionListener implements ActionListener {public void actionPerformed(ActionEvent e) {// A BUNCH OF TEXT PROCESSING//NOTE: myInfo.getContents() returns an ArrayList<myType>.Iterator<myType> iterator = myInfo.getContents...

java – 如何以与String相同的格式获取Date【代码】

我希望在向现有Date对象添加几个月后,以yyyy-mm-dd格式获取包含Date的Date对象.使用DateFormat对象我尝试过这种方式,但它没有按我的意愿提供输出.如何在Java中获取此日期格式?我的代码 – Calendar c=Calendar.getInstance();DateFormat sdf=new SimpleDateFormat("yyyy-mm-dd");Date d=cal.getTime();c.add(Calendar.MONTH,10);Date newd1=c.getTime();String news=sdf.format(newd1);Date dnew=(Date)sdf.parse(news);字符串新闻...

java – 字符串类的subString()函数如何工作【代码】

请参阅以下代码.String s = "Monday"; if(s.subString(0,3).equals("Mon"){}String s2 = new String(s.subString(0,3)); String s3 = s.subString(0,3); 我知道第2行仍将指向“星期一”,并且有一个新的String对象,其偏移量和计数设置为0,3. 第4行将在字符串池中创建一个新的字符串“Mon”并指向它. 但不确定第5行是否会表现为第2行或第4行. 如果第2行或第4行我错了也请更正..解决方法:I know that line 2 will still point to “M...

为什么在Java中的String.Replace之后String值没有改变?【代码】

参见英文答案 > String replace method is not replacing characters 5个我对以下程序有疑问 请参阅下面的程序public class Kiran {public static void main(String args[]) {String str = "Test";str.replace('T', 'B');System.out.println("The modified string is now " + str);}}我所期待的是,一旦我运行这个程序,我应该看到putput为Best,但令我惊讶的是输出是Test. 有人可以告诉我,为什么...

java – String类中的子串方法到达不应该的索引【代码】

参见英文答案 > Why is “out of range” not thrown for ‘substring(startIndex, endIndex)’ 6个如果标题不清楚,我道歉. 现在,在字符串索引从0开始.例如:Index 0 1 2 3 4 String H E L L O在这种情况下,最后一个索引是4. 如果我想尝试做这样的事情:System.out.println("hello".charAt(5));它应该抛出一个“超出界限的索引”. 但是,如果我尝试运行以下代码:System.o...

java – 当使用va_arg传递char *时,在JNI中将char *转换为jstring【代码】

是否有必要将char *转换为jbyteArray,然后调用java String的构造函数来生成jstring?怎么办呢?请帮忙.static int testhandler(void *arg, ...){int i;struct callback *cb = (struct callback *)arg;JNIEnv *env = cb->env;char *sig = cb->signature;jint size = (jint) strlen(sig);jint size1;va_list arguments;jobjectArray return_array;jclass obj_class;jbyteArray bytes;jstring str;obj_class = (*env)->FindClass(env,...

java – 如何使用putStringArrayListExtra()传递ArrayList【代码】

嗨,我想将一个Arraylist从一个活动传递到另一个活动.我使用putStringArrayListExtra(),但是显示错误:“方法putStringArrayListExtra(字符串,ArrayList未定义类型包.”是否有任何其他方法可用于传递ArrayList?String test[]=new String[3]; ArrayList<String[]> al=new ArrayList<String[]>(); int x,y; test[0]="1"; test[1]="2"; test[2]="3"; al.add(test); test = new String[3]; test[0]="4"; test[1]="5"; t...

如何将java.lang.String的空白JSON字符串值反序列化为null?【代码】

我正在尝试一个简单的JSON来反序列化到java对象.但是,我获取了java.lang.String属性值的空String值.在其余属性中,空值正在转换为空值(这就是我想要的). 我的JSON和相关的Java类如下所示. JSON字符串:{"eventId" : 1,"title" : "sample event","location" : "" }EventBean类POJO:public class EventBean {public Long eventId;public String title;public String location;}我的主要类代码:ObjectMapper mapper = new ObjectMap...

java – 可靠地将任何对象转换为String然后再返回【代码】

有没有可靠的方法将任何对象转换为String然后再返回到同一个对象?我已经看到一些人使用toString()转换它们的例子,然后将该值传递给构造函数以再次重建对象,但并非所有对象都有这样的构造函数,因此该方法不适用于所有情况.会怎么样?解决方法:是的,它被称为serialization!String serializedObject = "";// serialize the objecttry {ByteArrayOutputStream bo = new ByteArrayOutputStream();ObjectOutputStream so = new ObjectO...

java – String.replaceAll比自己完成工作慢得多【代码】

我有一段旧代码,用于在字符串中执行查找和替换标记. 它接收from和to的映射,迭代它们,对于每个对,迭代目标字符串,查找from使用indexOf(),并用to的值替换它.它完成StringBuffer上的所有工作并最终返回一个String. 我用这一行替换了代码:replaceAll(“[,.] *”,“”);我进行了一些比较性能测试.当比较1,000,000次迭代时,我得到了这个:Old Code: 1287msNew Code: 4605ms 3倍长! 然后我尝试用3次调用替换它来代替: replace(“,”,“...

Firebase DatabaseException:无法将java.lang.Long类型的值转换为String【代码】

com.google.firebase.database.DatabaseException: Failed to convertvalue of type java.lang.Long to String是在尝试将数据检索到对象以供使用时遵循文档时遇到的错误. 这是我的对象模型public class User {private String tour_director_key;private String last_name;private String location_latitude;private String tour_id;private String photo;private String tour_director_name;private String middle_name;private St...

java – 为什么String.length()是一个方法?

如果一个String对象是不可变的(因此显然不能改变它的长度),为什么length()是一个方法,而不是简单地成为公共最终的int长度,例如在数组中? 它只是一个getter方法,还是进行某种计算? 试着看看这背后的逻辑.解决方法:Java是一种标准,而不仅仅是一种实现.不同的供应商可以以不同的方式许可和实施Java,只要它们符合标准即可.通过对字段进行标准调用,可以非常严重地限制实现,这是没有充分理由的. 对于课程的未来而言,方法也更灵活.除了在...

如何在Java 9中实现String连接?【代码】

如JEP 280: Indify String Concatenation所写:Change the static String-concatenation bytecode sequence generated by javac to use invokedynamic calls to JDK library functions. This will enable future optimizations of String concatenation without requiring further changes to the bytecode emmited by javac.在这里,我想了解invokedynamic调用的用途以及字节码连接与invokedynamic的不同之处?解决方法:“旧”方式...

STRINGBUILDER - 相关标签
JAVA8 - 相关标签