当创建两个StringBuilder,并用其中一个为另一个赋值,那么当其中一个改变时另一个也随之改变。
以下示例:
public class q921 {
public static void main(String[] args) {
StringBuilder s = new StringBuilder();
s.append( "abc");
StringBuilder s1 = new StringBuilder();
s1=s;
System.out.println("s1:"+s1);
s.append("def");
System.out.println("s1:"+s1);
}
}
····································································································································
StringBuilder 在创建时会自动分配单位空间,当赋值后空间超过单位空间时会增加单位单元,以此类推。
··················································································································
StringBuilder的append方法可接受任意基本数据类型的参数
·········································································································································
String与StringBuilder之间的相互转换:
String->StringBuilder:可以把String作为StringBuilder构造方法的参数,也可以构造空的StringBuilder将利用append方法将String加入其中
StringBuilder->String:可以用StringBuilder的toString方法
··························································································
································································································
true+"“转换为字符串“true”
·······················································································
········································································
在用迭代器iterator时,要注意迭代器的next()方法每出现一次就会向后移一位
例
这里注意预期是输出的key与value是搭配着遍历,但实际k与第二次输出中的qq.next()已经不是同一个了,所以压根达不到效果
这里的执行过程是:首先第一次进循环判hasNext(),true,进去第一次执行赋值next(),移向第二个,打印行的next()使返回第二个(与put()顺序无关)Key,然后移向第三个,进入第二次循环,执行赋值行next(),此时迭代器已经移向末尾,故下一个打印行的next()会出现NoSuchElementException错误,程序只打印了一次
可以达到预期的代码
·············································································································
不是说任何两个null值都不相等吗?为什么HashMap中一个key为null的value的以替换另一个key为null的value?
···········································································
在用IntelliJ IDEA创建class时,如果你那个包名全是数字的话,点击new是不会出现class选项的,解决方法是把那个包名改一下就OK
··································································
在重写的时候,子类中的重写方法必须要与父类的被重写的方法的参数保持一致
···········································································································
在内存中先有的静态内容后有的动态内容,所以,静态不能够调用动态,在静态方法中不能用this,因为this代表这个调用者对象,但是静态方法属于类调用(虽然形式上可以写成对象调用),没有某个调用对象,所以this显然不合适
——————————————————————————————————————————
在重写时,子类方法返回值应当小于父类的,子类方法的可见范围应当大于父类的。
public>protected>default>private,default不是关键字
不同jdk版本下接口中可以有的内容:
java7:常量,抽象方法
java8:默认方法,静态方法
java9:私有方法
接口中的抽象方法必须是两个关键字:public abstract,可以选择性省略,但系统会自动补全这两个修饰
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
接口中的静态方法不能够通过接口的实现类对象调用,只能通过接口名称调用,接口中不能有静态代码块和构造方法
关于Scanner的next与nextLine可查看博客https://blog.csdn.net/Zhiyuan_Ma/article/details/51592730有详细解释