我有一个setter方法.
然后当运行另一个(比如生成)方法时,我需要检查我的字段的值.所以在String属性的情况下,我需要知道它是否包含值或者是否未设置.所以它可能是null,""或有意义的东西,有3种可能性.首先检查空值是否相当无聊:
if (s != null)
Run Code Online (Sandbox Code Playgroud)
然后换一个空字符串
if (!s.isEmpty())
Run Code Online (Sandbox Code Playgroud)
这里有一步检查吗?你可以告诉我,我可以使用空String初始化我的String字段.[这是常见的吗?]但是如果有人将null值传递给setter方法setS呢?那么在对该对象做某事之前,我们总是要检查Object值是否为null?
好吧,是的,setter方法可以检查它的值,如果字段为null,getter方法也可以返回非null值.但它是唯一的解决方案吗?对于程序员来说,在getter和setter中做太多工作了!
它是null对Object类型?
class C {
int i;
String s;
public C() {}
}
Run Code Online (Sandbox Code Playgroud)
会s永远null吗?
简单类型怎么样int?那会是什么?零或任意值?
方法中的局部变量怎么样?
public void meth() {
int i;
}
Run Code Online (Sandbox Code Playgroud)
什么是酉值i?
然而,依赖于这样的默认值通常被认为是糟糕的编程风格.
好的,你建议我们做什么?
class A {
String s = "";
int i = 0;
}
Run Code Online (Sandbox Code Playgroud)
要么:
class A {
String s;
int i;
public A() {
// default constructor
s = "";
i = 0;
}
}
Run Code Online (Sandbox Code Playgroud)
哪个更好?为什么?
什么是关于如何构建这样的自然语言解析程序的书籍:
input: I got to TALL you output: I got to TELL you input: Big RAT box output: Big RED box in: hoo un thum zend three out: one thousand three
它必须具有允许预测哪些单词拼写错误的语言模型!
关于如何构建这样一个工具的最佳书籍是什么?
ps有免费的网络服务进行拼写检查吗?来自Google可能吗?..
建模工具或仅用于绘图的可视化工具.实际上我只需要绘制,然后我会手动将图片转换为sql以更好地控制过程.
我在.war文件的根目录中有一个jsp文件.然后我有一个名为STUFF的文件夹.
如何访问STUFF中的read.txt文件?
/Name_of_war/STUFF/read.txt是正确的路径?
只有一个文件.它是在Web应用程序副本运行时同时编写的.
如何仅从其他日志行过滤一个会话日志消息?
我想要一个正则表达式,它将从String中提取电子邮件地址(使用Java正则表达式).
这确实有效.
如果出现任何问题,请纠正我.
现在,当我们使用Spring DAO作为ORM模板时,当我们使用@Transactional属性时,当在外部调用方法时,我们无法控制事务和/或会话,而不是在方法中.
延迟加载可节省资源 - 减少对数据库的查询,减少内存以保留应用程序内存中的所有集合.
因此,如果lazy = false,那么如果链接集中有10,000条记录,那么所有相关集合都将被提取,而这些集合并不是有效的.
现在,我在DAO类中有一个方法,它应该返回一个User对象.它具有表示数据库的链接表的集合.我需要通过id获取一个对象,然后查询它的集合.
当我尝试访问此DAO方法返回的链接集合时,Hibernate"未能懒惰地初始化集合"异常发生.
请解释一下,这里的解决方法是什么?
更新:好的,我来问你这个问题.DAO是一个抽象层,因此方法"getUserById(Integer id)"应该返回一个Object.
如果在某些情况下我需要User对象的这些链接集合,而在其他情况下我需要这些集合.
是否只有两种方法:1)延迟加载=假2)创建不同的方法:getUserByIdWithTheseCollections(),getUserByIdWithOtherCollections()并在这些方法中使用你的方法?
我的意思是只有两种方式而且没有更好的方法吗?
更新2:请解释一下,什么会让我明确使用SESSIONFACTORY?它在实践中看起来如何?我们创建一个DAO对象的实例,然后用会话工厂注入它,这意味着对DAO的两个后续方法调用将在同一个事务中运行?在我看来,无论如何,DAO与使用它的类分开了!
逻辑和事务封装在DAO中,对吧?
有没有通用的方法来实现将现有对象复制到另一个对象?
假设MyObj有一个id和name字段.像这样:
MyObj myObj_1 = new MyObj(1, "Name 1");
MyObj myObj_2 = new MyObj(2, "Name 2");
Run Code Online (Sandbox Code Playgroud)
代替
myObj_2.setName(myObj_1.getName()) // etc for each field
Run Code Online (Sandbox Code Playgroud)
做一些如下事情:
myObj_2.copyFrom(myObj_1)
Run Code Online (Sandbox Code Playgroud)
这样它们就是不同的实例,但具有相同的属性.
我知道文件结构,假设这个结构是这样的:
[3-bytes long int],[1-byte long unsigned integer],[4-bytes long unsigned integer]
Run Code Online (Sandbox Code Playgroud)
因此该文件包含此类记录的链.
在Java中解析这样一个文件最优雅的方法是什么?
据说,我们可以定义一个总长度的byte []数组并用InputStream读取它,但是如何将它的子元素转换成正确的整数值呢?
首先,java中的字节值是有符号的,在我们的例子中我们需要无符号值.接下来,有没有有用的方法允许将字节的子数组(例如,从1-st到4的字节转换为正确的整数值)?
我知道,Perl中有函数pack和unpack,允许你将一个字节字符串表示为表达式,假设"VV"表示2个无符号long int值.您定义了这样一个字符串,并将其作为pack或unpack函数的参数以及要打包/解包的字节提供.Java/Apache库等中有这样的东西吗?