注意java的对象引用
要注意,当前拿到的“对象引用”, 是不是 指向 最新的实例, 没有的话, 要重新 生成实例去指向。
代码例子:
AnsweringRuleInfo bhRule = accountGenerator.getAnswerRule(mailboxId, false, AnsweringRuleType.BusinessHours);
for(int j=0; j<bhRule.getPhones().size();j++){
bhRule.getPhones().get(j).setEnabled(false);
bhRule.setPhones(Arrays.asList(bhRule.getPhones().get(j)));
}
accountGenerator.setAnswerRule(mailboxId, bhRule);
解析:
bhRule.getPhones().get(j).setEnabled(false); 操作后, 若不对bRule重新设置 :bhRule.setPhones(Arrays.asList(bhRule.getPhones().get(j))); (bhRule.getPhones(). 返回List<ForwardPhoneInfo>)
accountGenerator.setAnswerRule(mailboxId, bhRule) 后, 该account 下ForwardPhoneInfos 各个ForwardPhoneInfo 保持原来的status,映射不到。
RingGroup ringGroup4;
ss.getUserCallHandlingComponent().save();
openCallForwarding(hours);
ringGroup4 = ss.getUserCallHandlingComponent().getRingGroupByLabel(hours, firstDeskPhoneLabel);
ArrayList<String> phoneLabels = ringGroup4.getPhoneLabelsInGroup();
assertEquals(phoneLabels.get(0), firstDeskPhoneLabel, "The ring group include " + firstDeskPhoneLabel);
assertEquals(phoneLabels.get(1), forwardPhoneNames[1], "The ring group include " + forwardPhoneNames[1]);
assertEquals(phoneLabels.size(), 2, "The ring group size is 2");
assertFalse(ringGroup4.isMoveUpButtonEnabled(), "The ringGroup move up button is disable.");
assertTrue(ringGroup4.isMoveDownButtonEnabled(), "The ringGroup move down button is enable.");
logBusiness("1.2 Move the group at the middle of list using '\\/' arrow > Save > Check arrows for this group at the \"Call Handling & Forwarding\"");
ringGroup4.moveGroupDown();
ringGroup4 = ss.getUserCallHandlingComponent().getRingGroupByLabel(hours, firstDeskPhoneLabel);
ss.getUserCallHandlingComponent().save();
openCallForwarding(hours);
assertTrue(ringGroup4.isMoveUpButtonEnabled(),"The ringGroup move up button is enable.");
assertTrue(ringGroup4.isMoveDownButtonEnabled(), "The ringGroup move down button is enable.");
解析:
对象引用 ringGroup4
ringGroup4 = ss.getUserCallHandlingComponent().getRingGroupByLabel(hours, firstDeskPhoneLabel);
获取到第一个位置的ringGroup,
若 ringGroup4.moveGroupDown();
此时RingGroup自身类成员发生改变, ss.getUserCallHandlingComponent().getRingGroupByLabel(hours, firstDeskPhoneLabel);获取到的实例也被改变, 而ringGroup4 还是指向原来的对象
所以此时ringGroup4需要重新指向。
参考:http://www.2cto.com/kf/201304/199505.html
student stu1 = new student();
通常把这条语句的动作称之为创建一个对象,其实,它包含了四个动作。
1) 右边的"new student" ,是以student 类为模板,在堆空间里创建一个student 类的对象( 也简称为student 对象) 。
2) 末尾的() 意味着,在对象创建后,立即调用student 类的构造函数,对刚生成的对象进行初始化。
构造函数是肯定有的。如果你没写,Java 会给你补上一个默认的构造函数。
3) 左边的"student stu1" 创建了一个student 类引用变量。所谓student 类引用,就是以后可以用来指向某个
4)"=" 操作符使对象引用指向刚创建的那个student 对象。
注意java的对象引用的更多相关文章
- Java参数传递对象引用传递失效
产线问题排查,方法传递对象引用但返回后对象一直为空 原因: null作为参数传递的时候,就不是引用传参了 Java参数引用传递之例外:null 众所周知的是,java中除基本类型外,参数都是引用传递. ...
- Java是对象引用按值传递的
原因:JAVA核心编程1卷7版P116 Employee E1 = new Employee("Alice",...); Employee E2 = new Employee(&q ...
- (JAVA指针),对象引用问题
引出指针 从表面上看JAVA是没有指针的,或者是说,弱化了指针.但是指针在JAVA中还是真真切切存在的.在Java中我们称之为引用. String a;//引用为空 String a = new S ...
- java中将对象引用设置为null对于GC有没有帮助
相信,网上很多java性能优化的帖子里都会有这么一条: 尽量把不使用的对象显式得置为null.这样有助于内存回收 可以明确的说,这个观点是基本错误的.sun jdk远比我们想象中的机智.完全能判断出对 ...
- 【译】Core Java Questions and Answers【1-33】
前言 译文链接:http://www.journaldev.com/2366/core-java-interview-questions-and-answers Java 8有哪些重要的特性 Java ...
- java必备基础知识点
Java基础 1. 简述Java的基本历史 java起源于SUN公司的一个GREEN的项目,其原先目的是:为家用消费电子产品发送一个信息的分布式代码系统,通过发送信息控制电视机.冰箱等 2. 简单写出 ...
- Java语言概要
Java把源代码(SourceCode)翻译成字节码(ByteCode):javac MyClass.java,再在Java虚拟机(JVM)上执行字节码:java MyClass. Java是基于面向 ...
- Thinking in Java 学习笔记(一)
chapter_01 对象导论 1.1 Java语言基础Smalltalk的特性: 万物皆对象 可以将对象视为一种奇特的变量,它可以存储数据(成员变量),也可以在自身上执行操作(方法). 程序对象 ...
- jsp js java
Java技术 J a v a是一种 简单易用. 完全面向对象. 具有平台无关性且 安全可靠的主要面向I n t e r n e t的开发工具. 自从1 9 9 5年正式问世以来,J a v a的快速发 ...
随机推荐
- Struts2内建校验器(基于校验框架的文件校验)
位于xwork-2.0.4.jar压缩包中( com.opensymphony.xwork2.validator.validators)有个文件default.xml ,该文件中定义了Struts2框 ...
- 【Android应用开发】 OpenGL ES -- 透视投影 和 正交投影
博客地址 : http://blog.csdn.net/shulianghan/article/details/46680803 源代码下载 : http://download.csdn.net/de ...
- C++ XML解析之TinyXML篇[转]
最 近使用TinyXML进行C++ XML解析,感觉使用起来比较简单,很容易上手,本文给出一个使用TinyXML进行XML解析的简单例子,很多复杂的应用都可以基于本例子的方法来完 成.以后的文章里会讲 ...
- oschina git 私有项目使用。。
工作流程 安装设置 git 下载最新版本的git http://git-scm.com/downloads 当你安装完成git的时候,你需要简单的配置一下,打开终端: 用户名 第一步,你需要告诉git ...
- 编写3个不同版本的程序,令其均能输出ia的元素
#include<iostream> #include<vector> #include<string> using namespace std; int main ...
- MAC SVN Phonegap
1. Windows上用VisualSVN Server Manager创建好Repository. 2. 在MAC上,用Phonegap创建好项目,比如在Project1目录里的App目录. 3. ...
- SSO-Javascript模拟IE登录,不让IIS弹出登录窗口
解决方案: 用JS模拟IE用户登录,再跳转到对应的系统. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transiti ...
- 苹果开发工具:Xcode和Interface Builder
摘要:在Mac OS X上开发,首选Xcode继承开发环境.本文对开发工具套件中最重要的Xcode和Interface Builder两个工具做了简要介绍,并提供<苹果开发工具概述>PDF ...
- 小白日记25:kali渗透测试之提权(五)--利用配置不当提权
利用配置不当提权 与漏洞提权相比,更常见的方法.在大部分企业环境下,会有相应的补丁更新策略,因此难以通过相应漏洞进行入侵.当入侵一台服务器后,无法照当相应的补丁进行提权,可通过寻找是否存在配置不当进行 ...
- 谈谈 Objective-C 链式语法的实现
引言 对于 Objective-C 的语法,喜欢的人会觉得它是如此的优雅,代码可读性强,接近自然语言,开发者在调用大多数方法时不需要去查看注释或文档,通常只凭借方法名就可以大致知道这个方法的作用,可以 ...