这里是JAVA学习过程中遇到的问题及解决方案,记录在此,以供复习

当创建两个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有详细解释

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值