最近有一个报了我们押金在线实习项目的同学,说我们的项目不行。
意思就是说JAVA向前端的返回值里面不用泛型,说明我们水平很差,让大家都不要来参与了。
先抛开其他的不谈,就先说说泛型和object的区别是什么。
这两个在一定程度上是可以共用的。
泛型就是不同类型的可以放一起。
object,我们的JAVA语言,万物是对象,它什么都可以是对象,它有它的一致性。
但是区别很明显。
1、什么时候用泛型
泛型说明这个类里面有很多的逻辑是通用的。
所以泛型一般是一类具体的类的、同一组类的泛型。
比如一说泛型,大家会想到很早的是数字计算,整数的计算,浮点数的计算,长类型的计算……
大家会发现要是一个个写很多类的话,这个就很复杂。
那就不如把它提成一个泛类的类,或者函数。
但对象不是这样。
对象没有一组具体的逻辑。
比如说这个返回值是可以前端的,它的作用就是做了一个解析,解析成前端可以识别的类型。
它没有任何业务属性,所以为什么要转化呢?
从转化的角度来说,这个泛型的使用场景就不合理。
2、最后代码的表现
你的每一个返回值上,如果有对象的话,就是很简单的一个对象、一个词就可以了。
但是用泛型的话,每一个接口的返回值不一样,它有的是map,有的是各种各样的对象,你的每个对象要单独去写一遍。
因为你也不知道要自己手动去打出对象是什么。
那开发效率就很低,也很麻烦。
所以在这种简单的,非逻辑属性的逻辑里面,泛型不如object。
3、使用场景和性能
对象是一个很简单的包装过程。
泛型是两步过程。
你的泛型,怎么从一个不知道类型的东西,转化成一个知道类型的东西,怎么从不同的里面进行传递过去。
大家可以看一看这个点。
就是使用场景也好,性能也好,都不是一回事。
学生可能一般没有考虑性能问题。
觉得作为程序员写的东西能炫技。
但是在公司的话,因为有性能影响,这种代码评审一般是不让过的。
大拿老师曾在大厂中厂小厂都作为管理人员,也能算得上是比较资深的行业人士,所以知道为什么这么写,怎么去写更合理。
但最怕的就是学生听不进去话。
然后又相信那些流量博主,相信那些市面上非常火的课程。
但那些培训班出来的所谓的讲师是 不懂产品的,他们的项目里面,一点产品逻辑都没有,全部都是框架亮点。
但你不管做什么项目,最后亮点是一样的,那是不可能的。校招项目那么多那么杂,不可能侧重点都一样。
之前大拿老师就出过一个视频,就是谈为什么某课网的项目,它不适合做大厂的校招项目。
我们的项目一开始都会给学生讲清楚,我们项目的优势是什么以及为什么要做。
我们主要就强调在业务上,在大家以后工作或者实践中较为重要的产品逻辑上。
要不然,遇到什么东西都要去做,那是没有意义的。
希望今年秋招能有所收获