当前位置: 首页 > wzjs >正文

网站开发过程模型房地产管理网站

网站开发过程模型,房地产管理网站,wordpress 安装配置,网站开发培训训1. 生活例子:快递盒​​ 想象你有一个快递盒: ​​没有泛型​​:盒子上没标签,什么都能装(书、水果、手机),但取东西时容易拿错。​​有泛型​​:盒子上贴了标签,比如「…

1. 生活例子:快递盒​

想象你有一个快递盒:

  • ​没有泛型​​:盒子上没标签,什么都能装(书、水果、手机),但取东西时容易拿错。
  • ​有泛型​​:盒子上贴了标签,比如「只能装书」。这样放错东西时立刻被发现,取出时也不用担心类型不对。

2. 代码对比:没有泛型 VS 有泛型​

​(1) 问题:没有泛型的盒子​
class Box {private Object content; // 用 Object 类型,什么都能装public void setContent(Object content) {this.content = content;}public Object getContent() {return content;}
}

​使用时的问题​​:

Box box = new Box();
box.setContent("苹果"); // 放一个字符串
String fruit = (String) box.getContent(); // 必须强制转换,但可能出错!box.setContent(123); // 不小心放了一个整数
String fruit2 = (String) box.getContent(); // 运行时崩溃!ClassCastException
​(2) 解决:用泛型的盒子​
class Box<T> { // T 是类型标签,比如 String、Integerprivate T content; // 只能装 T 类型的东西public void setContent(T content) {this.content = content;}public T getContent() {return content; // 取出时直接是 T 类型,不用转换}
}

正确使用​​:

Box<String> fruitBox = new Box<>(); // 标签为 String
fruitBox.setContent("苹果"); // ✅ 只能放字符串
String fruit = fruitBox.getContent(); // ✅ 直接拿到 StringfruitBox.setContent(123); // ❌ 编译直接报错!防止错误

3. 核心概念总结​

​术语​​解释​​生活例子​
​泛型​让一个类/方法可以处理多种数据类型,但保持类型安全贴了标签的快递盒
​类型参数​比如 <T> 中的 T,表示一个占位符类型(可以是任何字母,如 KV标签上的「书」「水果」等
​类型安全​编译器会检查类型是否正确,防止放入或取出错误类型的数据放错东西立刻被发现
​强制转换​没有泛型时,取出 Object 需要手动转换类型,容易出错拆快递后要猜是什么东西
// 定义一个「双格盒子」,可以放两种类型
class DoubleBox<T, U> {private T first;private U second;public DoubleBox(T first, U second) {this.first = first;this.second = second;}public T getFirst() { return first; }public U getSecond() { return second; }
}// 使用:第一个放 String,第二个放 Integer
DoubleBox<String, Integer> box = new DoubleBox<>("年龄", 25);
String key = box.getFirst(); // ✅ 直接是 String
int value = box.getSecond(); // ✅ 直接是 Integer

123

// 一个方法,可以打印任何类型的数组
public <T> void printArray(T[] array) {for (T item : array) {System.out.println(item);}
}// 使用:
String[] names = {"Alice", "Bob"};
printArray(names); // ✅ 自动识别 T 是 StringInteger[] numbers = {1, 2, 3};
printArray(numbers); // ✅ 自动识别 T 是 Integer

​生活例子:适配器和视图容器​

想象你有一个 ​​快递分拣工厂​​:

  • RecyclerView.Adapter​ 就像工厂的流水线机器。
  • FruitHolder​ 就像专门装水果的快递盒(只能装水果,不能装其他东西)。
  • <FruitAdapter.FruitHolder>​ 就是告诉流水线机器:“你只能用这种水果快递盒!”

代码逐行解释​

​1. 类的定义​
public class FruitAdapter extends RecyclerView.Adapter<FruitAdapter.FruitHolder> {
  • RecyclerView.Adapter​:Android 提供的列表管理工具。
  • <FruitAdapter.FruitHolder>​:告诉这个工具:“我只会用 FruitHolder 类型的盒子装数据!”

​2. 为什么需要 <FruitAdapter.FruitHolder>?​
  • ​目的​​:让编译器知道你的 ViewHolder 类型,避免类型转换错误。

  • ​对比没有泛型的情况​​:

    // 没有泛型时,方法参数是通用的 ViewHolder
    @Override
    public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {// 必须强制转换!FruitHolder fruitHolder = (FruitHolder) holder;fruitHolder.textView.setText("苹果");
    }
    • ​风险​​:如果 holder 不是 FruitHolder,程序会崩溃!
  • ​使用泛型后​​:

    // 使用泛型后,方法参数直接是 FruitHolder
    @Override
    public void onBindViewHolder(FruitHolder holder, int position) {// 直接使用,无需转换!holder.textView.setText("苹果");
    }
    • ​安全​​:编译器保证 holder 一定是 FruitHolder,不会出错。

文章转载自:

http://wnOobsyd.zdzgf.cn
http://Jacb3dHT.zdzgf.cn
http://ostDtYQb.zdzgf.cn
http://NcSbPwgT.zdzgf.cn
http://WCkuOVAu.zdzgf.cn
http://PTeYBnp1.zdzgf.cn
http://J6PlkRZ2.zdzgf.cn
http://P14clODt.zdzgf.cn
http://Ue7fQFO7.zdzgf.cn
http://gfi1MNz5.zdzgf.cn
http://hP4XbXuK.zdzgf.cn
http://suSSnJzH.zdzgf.cn
http://hp5FfmWJ.zdzgf.cn
http://HRJ9RvmX.zdzgf.cn
http://tObnpSbG.zdzgf.cn
http://YVmjNNCv.zdzgf.cn
http://F8gZZ9lz.zdzgf.cn
http://T5BZXuDf.zdzgf.cn
http://uvJ6DDYY.zdzgf.cn
http://F1Y759YU.zdzgf.cn
http://zLYcNfvQ.zdzgf.cn
http://I5CuTQeu.zdzgf.cn
http://ikUZeEbj.zdzgf.cn
http://G4lebeyj.zdzgf.cn
http://naCbjeyD.zdzgf.cn
http://fA65CexE.zdzgf.cn
http://qip3v1cm.zdzgf.cn
http://Ng2dvfzJ.zdzgf.cn
http://WReRghyo.zdzgf.cn
http://BNncKmlL.zdzgf.cn
http://www.dtcms.com/wzjs/700473.html

相关文章:

  • 国内网站绕过备案方法郑州正规的网站建设价格
  • 网站统计代码放哪里好多网站没排名了
  • 广西水利电力建设集团网站卓越亚马逊网站建设目的
  • 个人网站设计首页秦皇岛建筑
  • 网站做适配多少钱网站设计优化方案
  • 北京企业网站建设注册安全工程师报考条件及科目
  • DW做网站入门步骤教学wordpress获取登录权限
  • 制作网站的公司还能赚钱吗微信做公司网站怎么做
  • 烟台优化网站排名wordpress托管服务
  • 网站如何做邮箱订阅固定在网站底部
  • 河南网站建设品牌做视频用的网站
  • 中国建设银行官网站周波网站系统使用说明书
  • 做网站编辑好还是美工好网站里的横幅怎么做
  • 网站建设一般多少个板块龙岗做网站多少钱
  • 南京市建设工程交易中心网站it运维多少钱一个月
  • 我想用c 来做网站现在推广引流什么平台比较火
  • 免费简历模板的网站外贸商城网站 定制
  • 深圳官网网站建设个人电脑做网站打不开数据库
  • 个人建购物网站怎么备案公司名称变更说明函
  • 做ps合成的网站上海黄浦 网站建设
  • 做网站能赚钱吗表情包科技有限公司注册
  • 自己网站的关键词怎么改网站关键词符号
  • 怎么查看网站死链接沈阳手机网站
  • 网站运营专员做什么惠州做网站优化
  • 做网站网上怎么挂公告wordpress实现专题
  • 兴安盟网站建设wordpress缓存类
  • 企业营销型网站规划网站开发需求方案模板
  • 网站开发实践意义wordpress 自定义结构 标题
  • 做刷单的网站点击图片进入网站要怎么做
  • 公司品牌网站设计河南企业建站系统信息