这两个有什么区别吗?java 返回两个参数的值好像不一样吧

遇到一奇葩问题 post 数据一样,竟然两个浏览器返回结果不同。
18:13:47 +08:00 · 2924 次点击
用的jquery $.post 方法 也替换过 $.ajaxie9 和 其它浏览器的返回结果不同。post的数据完全一样。 大家能分析下会是神马原因吗?
3 回复 &| &直到
13:48:50 +08:00
& & 19:15:53 +08:00
网站通过判断http请求报文里面包含的浏览器类型来返回不同数据吧
& & 19:50:09 +08:00 via Android
HTTP头的默认值不同呗
& & 13:48:50 +08:00
如果返回的数据涉及客户端,例如某些控件属性,这就很正常了
& · & 2644 人在线 & 最高记录 3541 & · &
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.1 · 16ms · UTC 05:27 · PVG 13:27 · LAX 22:27 · JFK 01:27? Do have faith in what you're doing.11:45 提问
java方法的重载,重载可以返回值类型不同吗
是不是只要两个方法的返回值类型不同就不构成重载了?
给定Java代码如下所示,在横线处新增下列()方法,是对cal方法的重载。
public class Test{
public void cal(int x, int y, int z) {}
public int cal(int x, int y, float z){ return 0; }
//public int cal(int x, int y, int z){ return 0; }
public void cal(int x, int z){ }
//public void cal(int z, int y, int x){ }
C我知道对的,就想知道,A为什么错了
按时间排序
(1) 方法重载是让类以统一的方式处理不同类型数据的一种手段。多个同名函数同时存在,具有不同的参数个数/类型。
重载Overloading是一个类中多态性的一种表现。
(2) Java的方法重载,就是在类中可以创建多个方法,它们具有相同的名字,但具有不同的参数和不同的定义。
调用方法时通过传递给它们的不同参数个数和参数类型来决定具体使用哪个方法, 这就是多态性。
(3) 重载的时候,方法名要一样,但是参数类型和个数不一样,返回值类型可以相同也可以不相同。无法以返回型别作为重载函数的区分标准
Java方法的重载是Java面向对象多态特性在同一个类中的表现,方法的重载与参数列表、参数个数有关,与访问修饰符、返回值没有关系!
方法重载:方法名相同;参数列表不同;与返回值无关。
此处z的类型是float,返回类型应该是float吧。。。。
返回值得类型不同不构成重载的,A中的参数中有float的,而返回值得类型的int型,应该是float型的吧,有个类型提升的吧
方法重载:方法名相同;参数列表不同;与返回值无关。
此处z的类型是float,返回类型应该是float吧
重载一个方法的原则是 至少 编译器要能分辨出你要调用哪个方法。
如果你参数不同,你传什么参数,编译器能找到对应的那个方法,那就没问题,可如果你参数都一样
试想,你怎么知道应该调哪个方法来执行这些入参呢?
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐21ic官方微信-->
请教两个函数区别。。。带返回值与不带的
资深技术员, 积分 313, 距离下一级还需 187 积分
资深技术员, 积分 313, 距离下一级还需 187 积分
资深技术员, 积分 313, 距离下一级还需 187 积分
资深技术员, 积分 313, 距离下一级还需 187 积分
下面两个函数都是I2C读取24c02的,一个函数有一个变量和一个返回值,一个有两个变量.感觉那个返回值的应该可以代替那个参数,为什么在调试时有些问题。请教下区别,第一个带返回值的怎么改跟第二能够一样呢?
1.///////////////////
uchar read_add(uchar add)
writebyte(0xa0);
testack();
writebyte(add);
testack();
writebyte(0xa1);
testack();
*num=readbyte();
return (num);
2.///////////////////////
void Read_2402(uchar add,uchar *num)
writebyte(0xa0);& && && &&&// send device address
writebyte(add);& & //send unit address
start();& && && && &//start I2C again
writebyte(0xa1);
&&*num=readbyte();
满意回复+20
参变量不能当返回值,如果不考虑全局变量等,第一个函数是没法改成第二个格式的。
参变量不能当返回值,如果不考虑全局变量等,第一个函数是没法改成第二个格式的。
资深技术员, 积分 313, 距离下一级还需 187 积分
资深技术员, 积分 313, 距离下一级还需 187 积分
资深技术员, 积分 313, 距离下一级还需 187 积分
资深技术员, 积分 313, 距离下一级还需 187 积分
嗯,谢谢ye大侠。
那如果一个函数没有变量的话,可以用返回值。以为那个只是跟参变量有关就行,只是返回一个参数值,不影响其他的。这样的话,第一个函数是不是就算是语法错误,函数编的就不对呢?
中级工程师, 积分 3330, 距离下一级还需 1670 积分
中级工程师, 积分 3330, 距离下一级还需 1670 积分
中级工程师, 积分 3330, 距离下一级还需 1670 积分
中级工程师, 积分 3330, 距离下一级还需 1670 积分
第一个函数你都return了,下面还来num++?
资深技术员, 积分 313, 距离下一级还需 187 积分
资深技术员, 积分 313, 距离下一级还需 187 积分
资深技术员, 积分 313, 距离下一级还需 187 积分
资深技术员, 积分 313, 距离下一级还需 187 积分
哦,我是想让num值每次加一,读一次地址加一次。放前面的话,感觉不太合适,就放那了。。请指教
4# diweo&&
哦,我是想让num值每次加一,读一次地址加一次。放前面的话,感觉不太合适,就放那了。。请指教
jianghuoo00 发表于
放在后面根本就不会被执行。
资深技术员, 积分 313, 距离下一级还需 187 积分
资深技术员, 积分 313, 距离下一级还需 187 积分
资深技术员, 积分 313, 距离下一级还需 187 积分
资深技术员, 积分 313, 距离下一级还需 187 积分
嗯,确实。谢谢指教。顺便请教下,不知道如何能够明显看出24c02写进去没有,读出来的就是从写进去的读的。
写进去后再读出校验是比较可靠的验证方法
资深技术员, 积分 313, 距离下一级还需 187 积分
资深技术员, 积分 313, 距离下一级还需 187 积分
资深技术员, 积分 313, 距离下一级还需 187 积分
资深技术员, 积分 313, 距离下一级还需 187 积分
嗯,谢谢指教~我再看看
扫描二维码,随时随地手机跟帖
晶莹之水滴
发帖类勋章
时间类勋章
技术高手奖章
人才类勋章
终身成就奖章
等级类勋章
坚毅之洋流
发帖类勋章
时间类勋章
技术领袖奖章
人才类勋章
精华达人奖章
等级类勋章
湍急之河流
发帖类勋章
时间类勋章
技术导师奖章
人才类勋章
核心会员奖章
等级类勋章
奔腾之江水
发帖类勋章
时间类勋章
您需要登录后才可以回帖
热门推荐 /6如何解决Ajax访问不断变化的session的值不一致以及HTTP协议中的GET、POST的区别
转载 &更新时间:日 11:13:01 & 作者:krista2009
这篇文章主要介绍了Ajax访问不断变化的session的值不一致解决方法以及HTTP协议中的GET、POST的区别的相关资料,需要的朋友可以参考下
今天在做一个进度条的时候遇到一个问题,我在session里面存放了一个计数器,当爬取到一条数据的时候这个值+1,然后前台每隔3s中获取一次session的这个值,但是问题出来了,在FF下面,得到的值都是正常的,但是在IE下面死活都是之前的值,只有当重新打开页面的时候才能获取到最新的 session值:
下面是我的proBar.jsp的代码:
&%@ page language="java" import="java.util.*" pageEncoding="UTF-"%&
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
&script type="text/javascript" src="&%=path %&/js/jquery.js"&&/script&
&script type="text/javascript" src="&%=path%&/js/jquery.progressbar.min.js"&&/script&
&script type="text/javascript"&
function createXMLHttpRequest() {
if (window.ActiveXObject) {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
xmlHttp = new XMLHttpRequest();
return xmlH
function btn_click() {
xmlHttp = createXMLHttpRequest();
xmlHttp.onreadystatechange =
//xmlHttp.open("GET", "/jbbs/servlet/ControlCrawl?method=getinforsize", true);
xmlHttp.open("POST", "/jbbs/servlet/ControlCrawl?method=getinforsize", true);
xmlHttp.send(null);
function processor() {
var action=setInterval("btn_click();", );
&span&爬取进度:&/span&&br/&
&div id="container"&&/div&
后来把GET改为POST就正常了。
PS:关于HTTP的GET和POST
& Http定义了与服务器交互的不同方法,最基本的方法有4种,分别是GET,POST,PUT,DELETE。URL全称是资源描述符,我们可以这样认 为:一个URL地址,它用于描述一个网络上的资源,而HTTP中的GET,POST,PUT,DELETE就对应着对这个资源的查,改,增,删4个操作。 到这里,大家应该有个大概的了解了,GET一般用于获取/查询资源信息,而POST一般用于更新资源信息。  
1.根据HTTP规范,GET用于信息获取,而且应该是安全的和幂等的。  
(1).所谓安全的意味着该操作用于获取信息而非修改信息。换句话说,GET 请求一般不应产生副作用。就是说,它仅仅是获取资源信息,就像数据库查询一样,不会修改,增加数据,不会影响资源的状态。  
* 注意:这里安全的含义仅仅是指是非修改信息。   
(2).幂等的意味着对同一URL的多个请求应该返回同样的结果。   
幂等(idempotent、idempotence)是一个数学或计算机学概念,常见于抽象代数中。   
幂等有一下几种定义:   
& 对于单目运算,如果一个运算对于在范围内的所有的一个数多次进行该运算所得的结果和进行一次该运算所得的结果是一样的,那么我们就称该运算是幂等的。比如绝对值运算就是一个例子,在实数集中,有abs(a)=abs(abs(a))。   
& 对于双目运算,则要求当参与运算的两个值是等值的情况下,如果满足运算结果与参与运算的两个值相等,则称该运算幂等,如求两个数的最大值的函数,有在在实数集中幂等,即max(x,x) = x。   
& 但在实际应用中,以上2条规定并没有这么严格。引用别人文章的例子:比如,新闻站点的头版不断更新。虽然第二次请求会返回不同的一批新闻,该操作仍然被认为是安全的和幂等的,因为它总是返回当前的新闻。从根本上说,如果目标是当用户打开一个链接时,他可以确信从自身的角度来看没有改变资源即可。   
2.根据HTTP规范,POST表示可能修改变服务器上的资源的请求。
& 继续引用上面的例子:还是新闻以网站为例,读者对新闻发表自己的评论应该通过POST实现,因为在评论提交后站点的资源已经不同了,或者说资源被修改了。   
& 但在实际的做的时候,很多人却没有按照HTTP规范去做,导致这个问题的原因有很多,比如说:  
1.很多人贪方便,更新资源时用了GET,因为用POST必须要到FORM(表单),这样会麻烦一点。   
2.对资源的增,删,改,查操作,其实都可以通过GET/POST完成,不需要用到PUT和DELETE。   
3.另外一个是,早期的Web MVC框架设计者们并没有有意识地将URL当作抽象的资源来看待和设计,所以导致一个比较严重的问题是传统的Web MVC框架基本上都只支持GET和POST两种HTTP方法,而不支持PUT和DELETE方法。&   
* 关于MVC:
MVC本来是存在于Desktop程序中的,M是指数据模型,V是指用户界面,C则是控制器。使用MVC的目的是将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式。   
以 上3点典型地描述了老一套的风格(没有严格遵守HTTP规范),随着架构的发展,现在出现REST(RepresentationalState Transfer),一套支持HTTP规范的新风格,这里不多说了,可以参考《RESTful Web Services》。   
再从表面现像上面看看GET和POST的区别:   
(1). 首先是"GET方式提交的数据最多只能是1024字节",因为GET是通过URL提交数据,那么GET可提交的数据量就跟URL的长度有直接关系了。而实 际上,URL不存在参数上限的问题,HTTP协议规范没有对URL长度进行限制。这个限制是特定的浏览器及服务器对它的限制。IE对URL长度的限制是 2083字节(2K+35)。对于其他浏览器,如Netscape、FireFox等,理论上没有长度限制,其限制取决于操作系统的支持。注意这是限制是 整个URL长度,而不仅仅是你的参数值数据长度。  
(2).理论上讲,POST是没有大小限制的,HTTP协议规范也没有进行大小限制,说“POST数据量存在80K/100K的大小限制”是不准确的,POST数据是没有限制的,起限制作用的是服务器的处理程序的处理能力。  
对于ASP程序,Request对象处理每个表单域时存在100K的数据长度限制。但如果使用Request.BinaryRead则没有这个限制。 
由这个延伸出去,对于IIS 6.0,微软出于安全考虑,加大了限制。
我们还需要注意:
&1).IIS 6.0默认ASP POST数据量最大为200KB,每个表单域限制是100KB。     
2).IIS 6.0默认上传文件的最大大小是4MB。     
3).IIS 6.0默认最大请求头是16KB。   
IIS 6.0之前没有这些限制。
所以上面的80K,100K可能只是默认值而已(注:关于IIS4和IIS5的参数,我还没有确认),但肯定是可以自己设置的。由于每个版本的IIS 对这些参数的默认值都不一样,具体请参考相关的IIS配置文档。   
3.在ASP中,服务端获取GET请求参数用Request.QueryString,获取POST请求参数用Request.Form。
在JSP 中,用request.getParameter(\"XXXX\")来获取,虽然jsp中也有request.getQueryString()方法, 但使用起来比较麻烦,比如:传一个test.jsp?name=hyddd&password=hyddd,用request.getQueryString()得到的是:name=hyddd&password=hyddd。在PHP中,可以 用$_GET和$_POST分别获取GET和POST中的数据,而$_REQUEST则可以获取GET和POST两种请求中的数据。值得注意的是,JSP 中使用request和PHP中使用$_REQUEST都会有隐患,这个下次再写个文章总结。   
4.POST的安全性要比GET的安全性高。
注意:这里所说的安全性和上面GET提到的“安全”不是同个概念。上面“安全”的含义仅仅是不作数据修 改,而这里安全的含义是真正的Security的含义,比如:通过GET提交数据,用户名和密码将明文出现在URL上,因为(1)登录页面有可能被浏览器 缓存,(2)其他人查看浏览器的历史纪录,那么别人就可以拿到你的账号和密码了,除此之外,使用GET提交数据还可能会造成Cross-site request forgery攻击。  
总结一下,Get是向服务器发索取数据的一种请求,而Post是向服务器提交数据的一种请求,在FORM(表单)中,Method默认为"GET",实质上,GET和POST只是发送机制不同,并不是一个取一个发!
以上是小编跟大家分享的Ajax访问不断变化的session的值不一致解决方法以及HTTP协议中的GET、POST的区别,希望对大家有用,欲了解更多有关ajax session 不一致问题,请持续关注本站。
您可能感兴趣的文章:
大家感兴趣的内容
12345678910
最近更新的内容
常用在线小工具最近在学用jmeter做接口测试,但是现在遇到问题,测试一个接口的时候必然要测试传入不同的参数返回值不同,比如说提交信息,如果提交重复的手机号就要返回“手机号重复”,提交正确的则提示成功,所以我先做了参数化处理,参数化之后怎么设置断言判断多个结果是否符合预期呢?
结果中 断言 包含 字段
就在jmeter中写入
那不就没办法匹配了么,假如说我有三条数据有三个正确的预期结果,但是呢实际上接口有一种情况的返回数据是错误的,如果使用或那不就没办法判断正确了吗
我这返回的是json 数据,我这是对比对象来比较的, 和junit做单元测试一样。
我这直接自己写了个接口, 获取数据的对象, 然后这比较, 因为无非就是 状态值,
json对象的比较
可能我没理解楼主的点,如果你要参数化,请求参数化了,难道断言不能参数化?不过这需要断言形式比较统一,比如说都只是响应内容包含字符串的校验;如果不是很能统一的,那么可能最好还是写beanshell断言了
断言怎么参数化?
和请求一样的,CSV Data Set Config元件或前置用户参数等,你的“参数化处理”不是这么做的吗,响应断言里的内容也可以用变量的
响应断言里可以用${XXX}的形式使用变量,或者直接用beanshell断言,想干什么都行
我用csvRead函数把文件里面的期望结果参数化了,但是我有三行期望结果,参数化之后返回值每次都是跟第一行进行对比,如果使三个返回值分别跟三行预期结果进行对比呢
beanshell断言不是用于和数据库中的进行对比吗
不是啊,beanshell能执行java代码,基本可以实现任何断言需求
参数化不要那么用,更适合在压测的时候进行参数变化。
你直接写多个sample,每个sample单独断言。我推荐你用这种方法。
如果你非要使用参数化也不是不可以,但是就显得很不合适,我来告诉你有多麻烦。
1.准备一个测试数据
2.定义两个变量
3.因为预设了4中情况,创建一个4线程的线程组
4.添加一个sample,入参中使用${test},断言中使用${assert}
5.执行这个测试。你从结果树种可以看结果。每个线程取一条测试数据作为入参和断言。
那这样是不是传参也没有办法参数化了
可以使用8位时间戳,jmeter自带的。
${__time(ddHHmmss, timenow)}
手机号可以写成 138${timenow}
刚开始学,还不知道这个东西,我百度看看,谢谢
但是用第一种的话,要建相当多的请求;第二种只需要一个请求额
后方可回复, 如果你还没有账号请点击这里 。
第 17085 位会员 /
共收到 15 条回复}

我要回帖

更多关于 c 返回两个参数 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信