熟悉,精通java的来

踩踩一哥 2013-09-04 02:49:57
这是调用的类:
private static class ExpressionGet implements Get
{
private FactExpression expression;
public ExpressionGet(FactExpression expression)
{
this.expression = expression;
}

@Override
public Object getValue(FLOW_LOG flowLog)
{
MethodGet getVal = new MethodGet(flowLog);
Object obj = expression.eval(getVal);
return obj;
}

@Override
public int getIntValue(FLOW_LOG flowLog)
{
Object val = getValue(flowLog);
if (val == null)
{
return 0;
}
if (val instanceof Number)
{
return ((Number)val).intValue();
}
else
{
return Integer.parseInt(val.toString());
}
}

@Override
public long getLongValue(FLOW_LOG flowLog)
{
Object val = getValue(flowLog);
if (val == null)
{
return 0;
}
if (val instanceof Number)
{
return ((Number)val).longValue();
}
else
{
return Long.parseLong(val.toString());
}
}

@Override
public double getDoubleValue(FLOW_LOG flowLog)
{
Object val = getValue(flowLog);
if (val == null)
{
return 0;
}
if (val instanceof Number)
{
return ((Number)val).doubleValue();
}
else
{
return Double.parseDouble(val.toString());
}
}

@Override
public String getTextValue(FLOW_LOG flowLog)
{
Object val = getValue(flowLog);
if (val == null)
{
return null;
}
else
{
return val.toString();
}
}



}
这是继承的父类:
public static interface Get
{
public Object getValue(FLOW_LOG flowLog);
public int getIntValue(FLOW_LOG flowLog);
public long getLongValue(FLOW_LOG flowLog);
public double getDoubleValue(FLOW_LOG flowLog);
public String getTextValue(FLOW_LOG flowLog);
}
主函数里面:
FactExpressionBuilder b = new FactExpressionBuilder(entityId,eventId, e.getValue(), extImports);
FactExpression exp = b.getFactExp();
ExpressionGet get = new ExpressionGet(exp);
请问ExpressionGet get = new ExpressionGet(exp);这段代码执行是什么个情况?请详细说明用到的技术及运行原理
...全文
442 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
风中的思念 2013-09-13
  • 打赏
  • 举报
回复
打酱油 。。。
小行星0906 2013-09-05
  • 打赏
  • 举报
回复
引用 楼主 qq864680621 的回复:
主函数里面: FactExpressionBuilder b = new FactExpressionBuilder(entityId,eventId, e.getValue(), extImports); FactExpression exp = b.getFactExp(); ExpressionGet get = new ExpressionGet(exp); 请问ExpressionGet get = new ExpressionGet(exp);这段代码执行是什么个情况?请详细说明用到的技术及运行原理
前面的俩类,实在是自己水平有限看了下,用到了其它几个类内容不详,无法回答 但是看你问的这点,看命名似乎是个工厂方法

//取得工厂
	//。。。这里我觉得应该还有句获得工厂
	
	//获得具体工厂
	 FactExpressionBuilder b = new FactExpressionBuilder(entityId,eventId, e.getValue(), extImports);
	 
	 //获得实例
     FactExpression exp = b.getFactExp();
     
     //用了个装饰模式,具体干什么不知道,看内容吧
     ExpressionGet get = new ExpressionGet(exp);
踩踩一哥 2013-09-05
  • 打赏
  • 举报
回复
引用 6 楼 longtian1213 的回复:
不是内部类的话 能用这个private static吗?
有人知道就结
踩踩一哥 2013-09-05
  • 打赏
  • 举报
回复
引用 8 楼 u011325635 的回复:
[quote=引用 楼主 qq864680621 的回复:] 主函数里面: FactExpressionBuilder b = new FactExpressionBuilder(entityId,eventId, e.getValue(), extImports); FactExpression exp = b.getFactExp(); ExpressionGet get = new ExpressionGet(exp); 请问ExpressionGet get = new ExpressionGet(exp);这段代码执行是什么个情况?请详细说明用到的技术及运行原理
前面的俩类,实在是自己水平有限看了下,用到了其它几个类内容不详,无法回答 但是看你问的这点,看命名似乎是个工厂方法

//取得工厂
	//。。。这里我觉得应该还有句获得工厂
	
	//获得具体工厂
	 FactExpressionBuilder b = new FactExpressionBuilder(entityId,eventId, e.getValue(), extImports);
	 
	 //获得实例
     FactExpression exp = b.getFactExp();
     
     //用了个装饰模式,具体干什么不知道,看内容吧
     ExpressionGet get = new ExpressionGet(exp);
[/quote] 其实那些类都是经过封装的,我就是想问这个是什么编程模式
暖暖猫 2013-09-05
  • 打赏
  • 举报
回复
打个酱油
跳动de指尖 2013-09-05
  • 打赏
  • 举报
回复
认识Java
ceclinux 2013-09-04
  • 打赏
  • 举报
回复
引用 4 楼 zyb134506 的回复:
这个贴不会结了
严重同意
S117 2013-09-04
  • 打赏
  • 举报
回复
不是内部类的话 能用这个private static吗?
JustSimle 2013-09-04
  • 打赏
  • 举报
回复
精通。。。。好吓人
快乐的2 2013-09-04
  • 打赏
  • 举报
回复
这个贴不会结了
踩踩一哥 2013-09-04
  • 打赏
  • 举报
回复
不管熟不熟悉,能解决问题就是精通
  • 打赏
  • 举报
回复
ExpressionGet get = new ExpressionGet(exp); 不就是构造函数初始化对象么。。。。 还要精通java的大神们出马??? 精通java,几人敢自称。。。。
末日哥 2013-09-04
  • 打赏
  • 举报
回复
不精通JAVA

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧