我正在研究将数据库实体转换为DTO对象的项目.为此,每个转换使用一个特殊的转换器类.
我正在提供我们正在做的事情的简化示例.我故意错过了setter/getters和其他一些代码清晰度的东西.
所以这里是持久性实体:
class Car {
String number;
Driver driver;
}
class Driver {
String name;
License license;
}
class License {
String serial;
Date expired;
}
Run Code Online (Sandbox Code Playgroud)
并假设我们需要遵循DTO对象:
class DriverDTO {
String name;
String carNumber;
String licenseSerial;
}
Run Code Online (Sandbox Code Playgroud)
我们创建以下转换器类:
class DriverDTOConverter {
DriverDTO convert(Car car) {
DriverDTO driverDto = new DriverDTO();
driverDto.carNumber = car.number;
driverDto.name = car.driver.name;
driverDto.licenseSerial = car.driver.license.serial;
return driverDto;
}
}
Run Code Online (Sandbox Code Playgroud)
还有一个更复杂的例子:
class CarDTO {
String number;
String driverName;
LicenseDTO driverLicense;
}
class LicenseDTO {
String serial; …Run Code Online (Sandbox Code Playgroud) 我希望能够从收到的短信中提取文本.我不确定是否应该使用内容提供商,或者短信息包含在广播接收者收到的意图中.
我有一个等待短信的广播接收器,并希望检查收到的消息的内容.
谢谢.
有时我需要暴露一些班级成员.例如,在以下示例中class Mechanic可能需要直接访问Engine组件.我已多次读过所有字段都应该由mutator(accessor)方法访问,原因有几个.但是在提供非const引用getter时是否有任何优势:
class Car
{
public:
Engine & engine()
{
return m_engine;
}
//as a consequence you will also need to provide const version
const Engine & engine() const
{
return m_engine;
}
private:
Engine m_engine;
}
Run Code Online (Sandbox Code Playgroud)
简单地将引擎组件公开:
class Car
{
public:
Engine engine;
}
Run Code Online (Sandbox Code Playgroud)
您也可以替换public使用protected,如果你不喜欢这样的例子.在现实生活中,当涉及到System.in或者,你在Java中有类似的东西System.out.看起来,要完全符合某些人的说法,你需要执行类似的调用System.getInstance().getOut().println("hello world").在这种情况下,除了很多官僚代码外,我没有看到任何好处.
使用SimpleDateFormat解析ISO8601的日期和时间时,我遇到了一个奇怪的问题.相关代码是:
public class DateHelper
{
private static SimpleDateFormat iso8601formatter = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ");
public static Date parseISO8601(String date) throws ParseException
{
Date result = iso8601formatter.parse(date);
return result;
}
}
Run Code Online (Sandbox Code Playgroud)
对于输入我给它一个字符串
2010-09-06T15:30:00+02:00
Run Code Online (Sandbox Code Playgroud)
作为回报,我得到一个Date对象,日期设置为2010年1月6日,时间为13:30,时区为GMT + 00:00.
编辑:我也尝试使用"2010-09-06T15:30:00 + 0200",结果相同.
令人困惑的是,日期设置部分正确,只是月份设置错误.
问题显示在Android 1.6和Android 2.2上.
我该如何解决?
这是我们如何存储当前时间并使用time.h以下方式打印它:
$ cat addt.c
#include<stdio.h>
#include<time.h>
void print_time(time_t tt) {
char buf[80];
struct tm* st = localtime(&tt);
strftime(buf, 80, "%c", st);
printf("%s\n", buf);
}
int main() {
time_t t = time(NULL);
print_time(t);
return 0;
}
$ gcc addt.c -o addt
$ ./addt
Sat Nov 6 15:55:58 2010
$
Run Code Online (Sandbox Code Playgroud)
如何添加,例如5分35秒time_t t并将其存回t?
我正在寻找一个免费的工具来创建有限自动机和语法树的视觉吸引力的图表.
注意:我真的只想绘制图表.我没有必要创建一个模型或做一些花哨的东西.
谢谢你的时间.
编辑:
我可能会补充说,我在Latex中创建文档,因此我也对基于tex的图表解决方案持开放态度.
我目前正在使用Spring 3.0.4,并Apache Tiles 2.2.2在我的web应用程序.我想替换JSP,Apache Velocity 1.6.3但我对如何做到这一点感到困惑.最后,我希望能够在Tiles定义中执行以下操作:
<definition name="basicLayout" template="/WEB-INF/layout/basicLayout.vm">
<put-attribute name="header" value="/WEB-INF/layout/header.vm" />
<put-attribute name="content-area" value="/WEB-INF/layout/content.vm" />
<put-attribute name="footer" value="/WEB-INF/layout/footer.vm" />
</definition>
Run Code Online (Sandbox Code Playgroud)
这可能吗?如果是这样,我是否需要创建任何自定义视图类来支持它?我目前正在使用标准的Spring VelocityConfigurer,TilesConfigurer,VelocityView,TilesView类.
谢谢!
我正在试图弄清楚如何计算Java中的Internet Checksum,这让我无法忍受痛苦.(我在位操作方面很糟糕.)我在C#中找到了一个版本在C#中计算一个Internet(又名IP,即RFC791)校验和.但是,我尝试将其转换为Java并不会产生正确的结果.谁能看到我做错了什么?我怀疑是数据类型问题.
public long getValue() {
byte[] buf = { (byte) 0xed, 0x2A, 0x44, 0x10, 0x03, 0x30};
int length = buf.length;
int i = 0;
long sum = 0;
long data = 0;
while (length > 1) {
data = 0;
data = (((buf[i]) << 8) | ((buf[i + 1]) & 0xFF));
sum += data;
if ((sum & 0xFFFF0000) > 0) {
sum = sum & 0xFFFF;
sum += 1;
}
i += 2;
length -= 2;
} …Run Code Online (Sandbox Code Playgroud) 我需要通过特殊方式为照片添加水印.我知道怎么做,但我不知道如何做到这一点与文章http://www.photoshopessentials.com/photo-effects/copyright/相同
这是添加水印的方法.如何更改它以获得带有水印的图像,例如上面的文章?
public static Bitmap AddWatermark(this Bitmap originalImage, Bitmap watermarkImage, WatermarkLocationEnum location)
{
int offsetWidth;
int offsetHeight;
if ((watermarkImage.Width > originalImage.Width) | (watermarkImage.Height > originalImage.Height))
throw new Exception("The watermark must be smaller than the original image.");
Bitmap backgroundImage = new Bitmap((Bitmap)originalImage.Clone());
Bitmap image = new Bitmap(backgroundImage.Width, backgroundImage.Height);
Graphics graphics = Graphics.FromImage(image);
offsetWidth = GetOffsetWidth(image.Width, watermarkImage.Width, location);
offsetHeight = GetOffsetHeight(image.Height, watermarkImage.Height, location);
watermarkImage.SetResolution(backgroundImage.HorizontalResolution, backgroundImage.VerticalResolution);
offsetWidth = Math.Max(offsetWidth - 1, 0);
offsetHeight = Math.Max(offsetHeight - 1, 0);
graphics.DrawImage(watermarkImage, offsetWidth, offsetHeight); …Run Code Online (Sandbox Code Playgroud) 如果我有我的,在变量值的表单元素data(包括:var data = $(this).serializeArray();)
当表单元素位于数据内部时,如何更改表单元素(称为收件人)的值?
因此,我的元素name=recipient具有“妈妈”价值,如何在ajax成功的情况下将其更改为“爸爸”