2 baidu 29643173 baidu_29643173 于 2015.07.24 09:29 提问

求大神告诉我这段代码里的等号后边第一个where 是什么意思?第二个where是什么意思?

求大神告诉我这段代码里的等号后边第一个where 是什么意思?第二个where是什么意思?还有sx为什么后边还要写个+

public List<GongWenLeiBie>   getList(int sx)
    {
        String where="";
        if(sx!=0)
        {
            where=where+"where shunXu="+sx+"";
        }
            return this.findAll(where);
    } 

6个回答

BEACON89
BEACON89   2015.07.24 10:37
已采纳

第3行 是声明了一个变量where,其实是让你混淆,假设这个变量声明为N,或者其他的,是不是好读一些。
第6行 原文为 where=where+"where shunXu="+sx+""; 也就是N = N + “where shunXu ”的意思
转换理解 其实就是 where = where 原始值 + 这个变量值,假设where声明时是数值
声明 where = 1
那么 where = where(原始值为1) + 1
结果 where = 2
因为你的题目是字符串,所以
假设 where = "table " (其实应该是一句SQL语句,题目中是空值)
题目 where = where+"where shunXu="+sx+""
转换 where = "table (原始值)" + "where shunXu="+sx+""
结果 where = "table where shunXu=“+变量+""
其实这个方法意思是说获取一个泛型为的集合,判断参数变量sx,如果sx不为0则拼接字符串,最终按照findAll方法
返回泛型为集合
希望能帮到你

baidu_29643173
baidu_29643173 太感谢你了?方便私信留下qq吗,以后交流
2 年多之前 回复
evadestiny
evadestiny   2015.07.24 09:34

第一个where是变量名 第二个是字符串的内容

baidu_29643173
baidu_29643173 第二个为什么不能直接就写 shunXu= 不加where
2 年多之前 回复
dltsbydh
dltsbydh   2015.07.24 09:35

一个字符串罢了。和 String s = s +1,差不多

qq1301816064
qq1301816064 回复baidu_29643173: 那只是字符串的内容啊,这个为什么的话具体要看this.findAll()的查找是根据什么格式了,有可能要求的格式必须用where开头
2 年多之前 回复
baidu_29643173
baidu_29643173 这不是多了一个where吗,等号后边第二个where是干嘛的?什么意思啊?求解释 大神
2 年多之前 回复
goodhabit_jc
goodhabit_jc   2015.07.24 09:58

等号后面第一个where可以去掉,第二个where不能去掉,因为它是字符串

goodhabit_jc
goodhabit_jc 回复baidu_29643173: 等号后面第一个也变量,第二个是条件字符串。这java的常用的用法。类a+=a
2 年多之前 回复
baidu_29643173
baidu_29643173 哥,能详细说下吗?比如等号前边的肯定是变量了,后边第一个是什么啊?第二个是什么意思的字符串
2 年多之前 回复
u014049809
u014049809   2015.07.24 10:22

第二个 where在“”里面的,是一个字符串,就像“你好!”中的 你好 一样。

CSDNXIAOD
CSDNXIAOD   2015.07.24 09:33

句话是什么意思?if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[PerPer
What Is White Balance in a Camera?摄像头里的白平衡是什么意思
oracle where 后面的条件中|| 是什么意思
----------------------biu~biu~biu~~~在下问答机器人小D,这是我依靠自己的聪明才智给出的答案,如果不正确,你来咬我啊!

Csdn user default icon
上传中...
上传图片
插入图片