00:00
关于可变数组A瑞buffer,我们所有的操作就都讲完了,那总结一下的话,会发现a buffer确实操作比AR瑞是会更加的灵活,能做的事情更多,但是因为他能做的事情多,其实有时候调用的时候反而会把自己搞得混淆,哎,不知道到底应该用哪个了,所以这里给大家推荐的就还是使用常规的英文名称的这种方法调用,只要语义明确,那肯定能够实现我们的功能。那其实在实际使用的过程当中,大数数据应用场景下,我们直接要针对数据里边某个位置去做杀插入、删除操作,这种场景其实是比较少的,所以呢,我们往往直接使用不可变的数组,直接使用ARRA也就够了。而特别是对于这个A瑞buffer而言啊,还会出现有可能比方说我们定义了两个a buffer,然后指向了同一个数组的对象引用啊,那接下来我们改变一个的时候,另外一个也会引发变化,这个会导致很多莫名其妙的问题,排查也不容易排查啊,所以有时候还是推荐大家能用不可变就用不可变啊,那接下来呃,我们再来讨论一下,可变和不可变数组之间能不能做一些转换。
01:26
首先我们来看一下怎么样将可变数组转换。为可变数组,那其实非常的简单,首先我们可以定义一个可变数组。直接用这个re buffer,然后里边我们传几个数进来啊,其实这个大家看到,如果里边就是一个int类型的话,当然目前是用这个半生对象去创建啊,就不需要指定对应的泛型了,前面如果要加上它的类型的话,当然它还是一个巴uffer,一个可变数组,那如果要把它想呃变成一个可变数组呢,我们定义一个new AR,那这里实际其实就可以直接调用它的rra方法,这就有一个这样的一个方法,那大家可以直接看一下啊,目前得到的。
02:33
自然就是一个int了,你这个就是一个可可变的数组,类型起来讲非常的简单啊,那如果说大家想要看一下当前的值的话,我们可以line new three,对,要看它的值,需要做一个XG,把这个传进来,然后另外我们还可以看一下胸前的A。
03:03
它本身是一个可变数组buffer,所以可以直接打印,诶我们看到。哦,这里maket,我们这个没有传对应的。分隔符,所以看的不是很清晰啊。其实我们知道这就是把三个数连在一起打印出来了嘛,啊,而下面的AR呢,它还是二维8UFFER,他们他们俩这个相当于是互不影响啊,这边的new a瑞这就是另外的一个。数组内容一样的可不可变数组?这是关于可变数组转不可变,那反过来能不能做呢?不可变数组能不能变成一个可变数组呢?那也是可以的,可变数组转换为可变数组,我们就至于呃,直接基于前面的这个new arra来做一个转换吧,大家会想到当前是不是new array直接就可以到一个U瑞buffer这样的一个方法呢?很可惜没有这样的方法,但是它有另外一个方法,就是直接突buffer,因因为我们知道re buffer就是一个buffer吗?所以它只要转换过来,那这个类型就变成了一个可变的类型,Buffer就是一个可变的类型,好,所以接下来可以直接铺buffer得到的类型,我们一下我们就把它叫做buffer吧。
04:31
类型就是一个multiple下边的buffer啊,那当然这里我们可以直接做一个打印输出。以及之前的new array。运行一下。大家会看到当前的buffer,那自然打印出来就是一个a buffer,因为buffer本身是一个treat的特征嘛,A buffer是它的一个具体实现,而后面的这个new瑞直接打印的话,因为它还是at,所以打印出来是它对象的地址啊,这就是关于可变不可变,它们之间的关系和转换的方式。
我来说两句