携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第3天,点击查看活动详情
1.Spring
注解:
@Controller:加在控制器类
@Service:加在业务逻辑类
控制反转
对象的创建权转移到了Spring框架,这种思想成为控制反转
依赖注入
如果是框架帮你找这些依赖对象,按一定的规则提供给你,称为依赖注入
@Autowired
创建一个接口类型数组对象,并加上@Autowired,就可以存放多个对象
Spring包结构
2.ArrayList
数组不能自动扩容,ArrayList可以
代码Demo:
public class TestArrayList {
public static void main(String[] args) {
ArrayList a =new ArrayList(5);
a.add("a");
a.add("a");
a.add("a");
a.add("a");
a.add("a");
a.add("a");
//内部封装了扩容机制,按1.5倍扩容
System.out.println(a);
}
}
原理:
若初始数组大小为8,当加到地9个元素时,会按1.5倍新创建一个数组,此时新生成的数组中没有元素,然后把旧数组中的数组全部复制到新数组中,再存放地9个元素,然后删除旧数组
2.Debug
步过:F8
调试过程中修改代码:
增强for循环:
public class TestArrayList {
public static void main(String[] args) {
ArrayList a =new ArrayList(5);
a.add("a");
a.add("a");
a.add("a");
a.add("a");
a.add("a");
a.add("a");
//内部封装了扩容机制,按1.5倍扩容
for(Object e:a){
System.out.println(e);
}
}
}
3.泛型
只支持引用类型
代码Demo:
public class TestArrayList {
public static void main(String[] args) {
ArrayList<Integer> a = new ArrayList<>();
a.add(1);
a.add(1);
a.add(1);
int sum=0;
for(Integer i:a){
sum+=i;
}
System.out.println(sum);
}
}
4.List
List12和ListN属于不可变的List集合:元素一旦确定就不能再向里添加或删除了