自由学习记录

server/2024/10/11 3:03:21/

约束的泛型通配符?

Java中的泛型

xiaomi和byd都继承了car,但是只是这两个类是car的子类而已,而arraylist<xiaomi> ,arraylist<byd> 两个没有半毛钱继承关系

所以传入的参数整体,是car的list变形,里面的确都能存car,但不可以整体换成别的byd的list变形,只有list里的单独car对象可以装byd

这个时候可以用?通配符去接一切类型,但是这也不好,如果我搞了只狗的list,来这个方法里面跑步,非常不合适,所以就有了?的范围规定,必须是car的子类就是extends ,父类就是super

c#中的泛型

在 C# 中,虽然没有直接像 Java 那样的“泛型通配符”概念(例如 ? extends T? super T),但 C# 提供了功能非常接近的机制,主要通过 泛型约束协变与逆变 来实现类似的效果。

协变逆变

// 协变接口:T 可以是派生类
public interface ICovariant<out T> {T GetItem();
}// 逆变接口:T 可以是基类
public interface IContravariant<in T> {void SetItem(T item);
}
ICovariant<object> obj = new Covariant<string>(); // string 是 object 的派生类
Console.WriteLine(obj.GetItem());
IContravariant<string> contravariant = new Contravariant<object>(); // object 是 string 的基类
contravariant.SetItem("Hello");

泛型约束

C# 还支持在泛型类型参数上应用约束来指定允许的类型,这提供了类似于 Java 中 ? extends T 的功能。

  • where T : class:T 必须是引用类型。
  • where T : struct:T 必须是值类型。
  • where T : SomeBaseClass:T 必须继承自 SomeBaseClass
  • where T : new():T 必须有无参构造函数。
public class MyClass<T> where T : Animal {public void DoSomething(T item) {// T 必须是 Animal 或其派生类item.Speak();}
}

SQL的update和delete

update

update的嵌套查询

select did from 部门表 where dname='要查的部的did,用这种方式得到';

update 要改的表 set 把数据进行修改 where did=(select 单个值的子表查询的使用)

 

再嵌入别的新表就OK了

同一张表不能同时又查又改,sql的保护机制

delete

 和update 同样的同时对应一张表,不能乱来,要嵌套个子,让删和查不同时

还有,虚拟表要名字的

SQL的select虚拟表

虚拟表的拼接

group by 之后, select did 和 avg(salary)

虚拟表 的左连接

join 虚拟的select表,(要as,这样后面的on才有活路比较) on d.did=tmp.did;

Java异常

现在编译异常并不常用,sun公司也在全面高度禁止使用这种异常,因为会造成一些很麻烦的问题,所以要写异常的话,写运行异常就够了

这种没写分号之类的语法错误,不是所谓的异常,是脑子异常

joke,这里的看似的编译异常,不属于真正的异常,没有抛出,不是明显人为的异常提示 

exception比较强烈,是直接抛出异常

编译时异常是担心你水平不行,而运行时异常就是直接的水平问题

两个异常就丢两次,外面要记得接住 ,或者再丢

又或者,只丢

这样就只要接一个异常exception就可以了

 在这个函数后面加上throw异常类型,就可以不管这个异常,

这里的异常更在于提醒程序员容易出错,所以不是所有异常都代表真的出问题了

异常出现后,程序会立刻死掉

编译时不报错,运行报错 

error一般程序员解决不了,硬件问题之类的基本上很难解决

固态硬盘和机械硬盘

固态硬盘(SSD)没有转盘或任何移动部件,所以不会像机械硬盘(HDD)那样在读取数据时有转动的声音或物理转动的部分。

  • 机械硬盘(HDD)有转动的盘片,读取数据时会转起来。
  • 固态硬盘(SSD)没有转盘,也没有任何移动部件,完全静音且不会转动。

“磁盘”这个词通常指的是那些会转动的存储介质,主要指传统的 机械硬盘(HDD)。机械硬盘内部有一个或多个磁盘片(也称为 盘片),这些盘片通过磁性存储数据,读取数据时需要旋转,并由机械臂进行读取。

SQL的子表查询

 分解

查询结果

而之后要用这三个为子查询,筛选出逼这三个人工资都高的人

用的就是all(select.....),这样就是大于里面的所有的值

当然

还可以用max得出三个人里的最高工资,然后再作为子表查询,

 这样也可以一个列值去比对多个子查询的结果,加any

拆解,查询 鞋机那和白露所在的部门中,存在于这两个部门的有哪些人

 要是查不在同一个部门?加个not 在in前面

一个列名等于多个值,可以用in

这两个等价关系 (少了个逗号)

sql挑一个行去查询

同样是可以拆分的

用子select查询,然后gender可以直接等于,加上and,后面继续跟要查的数据,

这样就不用in,或者()

但还是优雅的好

首先同样属于子查询,只是在自己的一个表里,挑出一个行的几个数据,如果和这个挑出来的行的这几个数据相同,就筛选出来

用in也可以,两行

sql的子查询

分组查询,通过did的不同分为多个组,然后select后面就可以接分组的依据和聚合函数avg(salary)

然后一个很标准的子查询

 把另一个不和组相关的用select()起来,在里面自由的写

Java的游戏项目

越先创建的jlabel就越显示在上层

在Java中把图片打包

swing jframe

Some psychological feelings

when you hesitate,remember write for yourself ,without any restriction.even the language thing,even to be a silly man who talk like a crazyer,hold on yourself,when you want ,then to fit.

Writing CSDN is indeed a kind of exercise. Sometimes I feel that the original purpose is just to find a place to record what I have learned, and by the way, I can post it for you to see.

But in this process, it seems easy to get lost. The main problem is that I want to learn something. This seems very clear, but as the variables increase, it does become less clear.

I thought that as long as I could record it, it would be fine. But I have to say that people are indeed greedy. After discovering the benefits, if the initial goal is not firm enough, there is a possibility that they will be led away.

who cares,man.when you small,think highly is not a good solvation ,still to yourself ,see the next happening,record and help by the way,even you tell dirty words ,not that so many guys will spend time to see,it's really a truth that the earth won't stop rotate for your some ridiculous dumb article decisions.


http://www.ppmy.cn/server/129910.html

相关文章

Git基本操作与分支

一、操作入门 先看大屏幕&#xff1a;先背过 再来操作 初始化 刚入门的小朋友可能出现这种问题&#xff1a; 原因是&#xff1a;需要自己创建一个记事本文件 add的作用是添加指定文件到暂存区。 commit是提交暂存区到仓库区&#xff0c;此处的仓库是本地仓库&#xff0c;本…

Word页眉内容自动填充为章节标题

Word页眉内容自动填充为章节标题 在写毕业论文的过程中&#xff0c;通常要求将页眉设置为章节标题&#xff0c;例如这样 通常&#xff0c;页眉内容我们都是手敲上去的&#xff0c;其实在Word中可以设置为自动引用章节标题&#xff0c;以下为设置方法&#xff0c;仅供参考&…

【华为HCIP实战课程七】OSPF邻居关系排错MTU问题,网络工程师

一、MTU MUT默认1500,最大传输单元,一致性检测 [R3-GigabitEthernet0/0/1]mtu 1503//更改R3的MTU为1503 查看R3和SW1之间的OSPF邻居关系正常: 默认华为设备没有开启MTU一致性检测! [R3-GigabitEthernet0/0/1]ospf mtu-enable //手动开启MTU检测 [SW1-Vlanif30]ospf mtu…

JSONL 文件的检查和修订器

下面是一个JSONL 文件的检查和修订器,代码如下: import json import tkinter as tk from tkinter import filedialog, messageboxdef check_jsonl_file(input_file, log_file, output_file=None):errors = []valid_lines = []with open(input_file, r, encoding=utf-8) as in…

360 度评估的优缺点

什么是 360 度评估&#xff1f; “360 度评估是一种人才培养工具&#xff0c;用于为接受者提供全方位的反馈&#xff0c;这通常包括来自他们直接下属的向上反馈、来自与他们密切合作的同事的反馈&#xff0c;以及来自他们经理的向下反馈。” 通常&#xff0c;360 度评估是匿名…

JavaScript中的with语句详解

参考链接&#xff1a;https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Statements/with 注&#xff1a;该属性已被W3C废弃&#xff0c;请谨慎使用。 作用 当我们想快速访问一个对象上的属性时&#xff0c;可以简化代码 语法 with (expression) statem…

SQL自学:什么是SQL的聚集函数,如何利用它们汇总表的数据

在 SQL&#xff08;Structured Query Language&#xff0c;结构化查询语言&#xff09;中&#xff0c;聚集函数也称为聚合函数&#xff0c;是对一组值进行计算并返回单一值的函数。 一、常见的聚集函数及功能 1. AVG()&#xff1a;用于计算某一列的平均值。 例如&#xff0c;…

JavaGuide(3)

一、项目背景与简介 JavaGuide由GitHub用户Snailclimb开发并维护&#xff0c;是一个全面而深入的Java学习资源库。它旨在为Java初学者和有经验的开发者提供一个系统的学习路径和丰富的资源&#xff0c;帮助他们系统地学习和巩固Java及相关技术知识。 二、项目内容与特点 Jav…