CompareTO(Object o)方法的重写及其用于排序的原理

CompareTo()方法是java.lang.Comparable接口的一个抽象方法。
其方法的主要作用是根据依据比较 对象的大小,比如Integer型,比较的是数值的大小,String形等,
调用这个方法的对象比 形参对象大的话返回 1 比形参小的话 返回 -1 等于 形参的话 返回 0
根据返回的值就可以确定两个对象的大小 进而进行排列。
注:当在重写CompareTo()方法比较String 等非数值类型属性的大小时。我们可以直接借用String 方法中的 CompareTo()方法来比较。
向TreeSet中添加元素时,首先按照compareTo的方法进行比较,一旦返回0,虽然仅是两个对象的此属性
值相同,但是程序扔会认为这个对象是相同的,进而后一个对象进不来。
如:

public int compareTo(Object o){
            if(o instanceof Person){
            Person p = (Person)o;
            return this.name.compareTo(p.name);//这里就借用String中的CompareTo()方法来比较String类型的
                                                //的大小
            }
            return 0;
            }

所以我们要比较另一个属性的大小

public int compareTo(Object o) {
        if(o instanceof Person) {
            Person p = (Person)o;
            int i =  this.name.compareTo(p.name);
            if(i == 0) {
                return this.age.compareTo(p.age);
                
            }else {
                return i;
            }
            }return 0;
            
        
    }
    

}

微信小程序实现公告自动滚动效果

<!-- 公告 start-->
<view class='notice'>
  <view class='notice-contain'>
    <text class="cuIcon-notificationfill text-red"></text>
    <view class="notice-containTitle">公告栏</view>
    <swiper class="tab-right" vertical="true" autoplay="true" circular="true" interval="2000" display-multiple-items='1'>
      <view class="right-item">
        <block wx:for="{{msgList}}">
          <swiper-item>
            <view class='content-item'>
              <view class="swiper-item text-red text-bold">{{item.title}}</view>
            </view>
          </swiper-item>
        </block>
      </view>
    </swiper>
  </view>
</view>
<!-- 公告 end -->
/* 公告栏 */
.notice {
  display: flex;
  justify-content: center;
  align-items: center;
  /* margin-top: 10rpx */
}

.notice-contain {
  box-shadow: 0px 1px 1px 1px rgba(202, 199, 199, 0.993);
  display: flex;
  flex-direction: row;
  background: #FFFFFF;
  width: 700rpx;
  height: 82rpx;
  border-radius: 10px;
  justify-content: center;
  align-items: center;
}

.notice-containTitle {
  font-weight: bold;
  font-size: 32rpx;
  position: relative;
  /* top: 0; */
  left: 14rpx;
}

.notice-containTitle::after {
  position: absolute;
  top: -4rpx;
  left: 110rpx;
  content: "";
  display: block;
  background: #AAAAAA;
  width: 2px;
  height: 54rpx;
}

.tab-right {
  height: 55rpx;
  width: 80%;
  line-height: 55rpx;
  padding-left: 70rpx;
}

.swiper-item {
  font-size: 28rpx;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  letter-spacing: 2px;
}
 msgList: [{
      title: "视频无水印解析免费无限次使用~"
    }, {
      title: "视频无水印解析免费无广告使用~"
    }]

N1刷了Armbian之后自动挂载硬盘(TF卡)

 1.查看系统所检测到的磁盘,这里的 sda1检测到的硬盘但是没有被挂载(注意:这里sda1 是’1’ 而不是’L’,有些可能是sdb1

 lsblk         //查看信息


2.在根目录新建一个目录用于挂载硬盘,命令如下:

 cd /.               //进入根目录
mkdir mnts     //新建目录名为‘mnts’可用'ls'查看


3.挂载新增的磁盘sda1(所有新增硬盘都在/dev/目录下)

mount /dev/sda1 /mnts/        //挂载到mnts
cd /mnts/                //进入挂载的硬盘 'ls'查看内容

4.开机自动挂载:

  ①这条命令可以显示硬盘信息,并记下UUID,为下一步做准备,这里以sda1为例

blkid /dev/sda1

②修改

/etc/fstab

即可。例如我就是在 fstab 最后添加这行:

UUID=722059EC2059B835 /mnts ntfs defaults 0 0

UID改成上面生成的那个

 

 vi /etc/fstab         //修改fstab


③最后保存并应用, 则成功自定挂载,开机也会自动挂载(注意:这里只对只一个硬盘有效)

 mount -a             //应用并启动

openwrt 在docker中使用rz命令上传文件乱码

解决方案:
使用rz 出现乱码,经过公司跳板机后经常会上传一部分后退出并显示一堆乱码,这是因为这中间有控制字符的原因。
解决方法:使用
rz -be(亲测可用)
或者rz -e 即可;同理:sz -e
扩展:
-e, --escape