注意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的快速发 ...
随机推荐
- 图像切割之(五)活动轮廓模型之Snake模型简单介绍
图像切割之(五)活动轮廓模型之Snake模型简单介绍 zouxy09@qq.com http://blog.csdn.net/zouxy09 在"图像切割之(一)概述"中咱们简单了 ...
- C#实现对Word文件读写[转]
手头上的一个项目报表相对比较简单,所以报表打印采用VBA引擎,通过定制Word模版,然后根据模版需要填充数据,然后OK,打印即可. 实现方法:首先需要引用VBA组建,我用的是Office2003 Pr ...
- 第十七章,txt文件的写入和读取数据结合练习(C++)
#include <iostream> #include <fstream> int main(int argc, char** argv) { std::string str ...
- CreateProcess的使用方法
使用编译器vs2008. 第一.第二个參数的使用方法: 样例: 使用ie打开指定的网页. 注意第二个參数是 可运行文件+命令行參数 #include "stdafx.h" #inc ...
- 详解Android Handler的使用-别说你不懂handler
我们进行Android开发时,Handler可以说是使用非常频繁的一个概念,它的用处不言而喻.本文就详细介绍Handler的基本概念和用法. Handler的基本概念 Handler主 ...
- css 设置全屏背景图片
<div id="div1"><img src="img.jpg" /></div> div#div1{ position: ...
- 关于设置android:imeOptions属性无效的解决办法
在对Android的EditText控件进行设置时,经常会限定一下输入法的属性,设置右下角为完成或者搜索等,一般都会想到android:imeOptions属性,但是仅仅这么设置通常是无效的,还要搭配 ...
- Pretty Poem
Poetry is a form of literature that uses aesthetic and rhythmic qualities of language. There are man ...
- CCTableView的使用和注意事项
#include "cocos-ext.h" using namespace cocos2d::extension; class TableViewTestLayer: publi ...
- python解决SNIMissingWarning和InsecurePlatformWarning警告
在想要获取https站点的资源时,会报出SNIMissingWarning和InsecurePlatformWarning警告 SNIMissingWarning: An HTTPS request ...