Javamail API有一个Massage类,它有一个getFrom()方法,你可以在这里找到:
https://javamail.java.net/nonav/docs/api/javax/mail/Message.html#getFrom()
关于这种方法的两个问题:
有关Oracle Java社区站点的文章作为示例(对于JPA转换器,但我认为这不相关)以下方法:
public Boolean convertToEntityAttribute(String y) {
String val = (String) y;
if(val.equals("Y")){
return true;
} else {
return false;
}
}
Run Code Online (Sandbox Code Playgroud)
将String y转换为String val有什么用?是否有正当理由这样做?
原创文章:JPA中的新功能
我正在使用Jackson来反序列化Product接口的许多不同实现.这些产品实现有不同的领域,但都有一个InsuredAmount领域.这个InsuredAmount类有一个值字段和IAType领域.这IAType是一个标记接口,具有不同的枚举作为实现.
现在问题是:IAType接口的枚举实现对应于接口的某个实现Product.如何进行通用实现并告诉Jackson找到正确的IAType实现?我应该在Product和IAType接口上使用通用参数来识别产品实现吗?我应该Productable在识别产品实现的类上使用功能接口吗?我如何告诉杰克逊使用该实现?
我希望下面的代码澄清了问题,我选择在Productable这里实现一个接口,但是一个更好的结构来处理这个问题也是受欢迎的.
@JsonPropertyOrder({"type", "someInfo"})
public class InsuredAmount implements Productable, Serializable {
private static final long serialVersionUID = 1L;
private IAType type;
private String someInfo;
public InsuredAmount() {
}
public InsuredAmount(IAType typeA, String someInfo) {
this.type = typeA;
this.someInfo = someInfo;
}
/* This should be on the product level, but if I can solve this problem,
the next level will just …Run Code Online (Sandbox Code Playgroud) 我很难将ISO 8601格式化的字符串转换为UTC 格式的java.time.LocalDateTime.
更具体的,我试图写一个XMLAdapter的,你可以输入各种ISO 8601个dataformats作为字符串(即2002-09-24,2011-03-22T13:30,2015-05-24T12:25:15Z,2015-07-28T11:11:15.321+05:30),并且在输出UTC,反之亦然一个LocalDateTime.
系统以UTC时间内部存储所有日期和时间信息.当用户请求日期或时间时,它将根据自己的ZoneId表示给用户.
[案例] 我收到了一堆“xml 文件”,其中包含有关大量文档的元数据。至少,这是我所要求的。我收到的“xml 文件”没有根元素,它们的结构如下(我遗漏了一堆元素):
<folder name = "abc"></folder>
<folder name = "abc/def">
<document name = "ghi1">
</document>
<document name = "ghi2">
</document>
</folder>
Run Code Online (Sandbox Code Playgroud)
[问题] 当我尝试读取 XmlTextReader 对象中的文件时,它无法告诉我没有根元素。
[当前解决方法] 当然,我可以将文件作为流读取,附加 < xmlroot> 和 </ xmlroot> 并将流写入新文件并在 XmlTextReader 中读取该文件。这正是我现在正在做的,但我不想“篡改”原始数据。
[请求的解决方案] 我知道我应该使用 XmlTextReader 来实现此目的,并带有 DocumentFragment 选项。但是,这会产生编译时错误:
System.Xml.dll 中发生“System.Xml.XmlException”类型的未处理异常
附加信息:部分内容解析不支持 XmlNodeType DocumentFragment。第 1 行,位置 1。
[错误代码]
using System.Diagnostics;
using System.Xml;
namespace XmlExample
{
class Program
{
static void Main(string[] args)
{
string file = @"C:\test.txt";
XmlTextReader tr = new XmlTextReader(file, XmlNodeType.DocumentFragment, null);
while(tr.Read())
Debug.WriteLine("NodeType: …Run Code Online (Sandbox Code Playgroud) 例如,在XNA框架中有一个SpriteBatchClass.该SpriteBatch.Begin()方法接受如下参数:
spriteBatch.Begin(SpriteSortMode.FrontToBack, BlendState.AlphaBlend);
Run Code Online (Sandbox Code Playgroud)
如何创建一个以相同方式接受参数的类?
我无法运行以下程序:
import java.net.URL;
import net.sourceforge.spnego.SpnegoHttpURLConnection;
public class HelloKeytab {
public static void main(final String[] args) throws Exception {
System.setProperty("java.security.krb5.conf", "krb5.conf");
System.setProperty("sun.security.krb5.debug", "true");
System.setProperty("java.security.auth.login.config", "login.conf");
SpnegoHttpURLConnection spnego = null;
try {
spnego = new SpnegoHttpURLConnection("spnego-client");
spnego.connect(new URL("http://as1.test.local/hello_spnego.jsp"));
System.out.println("HTTP Status Code: "
+ spnego.getResponseCode());
System.out.println("HTTP Status Message: "
+ spnego.getResponseMessage());
} finally {
if (null != spnego) {
spnego.disconnect();
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
我安装了JDK7并将JAVA_HOME环境变量设置为管理员.我正在编译和运行时作为常规域用户使用Windows XP计算机.
我和我编译的spnego-r7.jar目录相同HelloKeytab.java:
javac -cp .;spnego-r7.jar HelloKeytab.java
Run Code Online (Sandbox Code Playgroud)
这成功地创造了这个阶级.
当我运行程序时:
java -cp .;spengo-r7.jar HelloKeytab …Run Code Online (Sandbox Code Playgroud) 我想打印包含 xxx 的 tomcat catalina.out 日志中的所有行。使用以下方法完成的简单操作:
cat catalina.out | grep xxx
Run Code Online (Sandbox Code Playgroud)
然而。在日志文件中,我得到包含 xxx 的行,该行上方的行包含记录该项目的日期和时间。我也想看到 grepped 线上方的那些线。我怎么能做到这一点?
我在 Amazon Web Services RDS 上使用 PostgreSQL 9.6.1
如何解除下面的锁?我原本期望删除 PID,但在本例中它们是空的。
business_data=> CREATE OR REPLACE VIEW public.active_locks AS
business_data-> SELECT t.schemaname,
business_data-> t.relname,
business_data-> l.locktype,
business_data-> l.page,
business_data-> l.virtualtransaction,
business_data-> l.pid,
business_data-> l.mode,
business_data-> l.granted
business_data-> FROM pg_locks l
business_data-> JOIN pg_stat_all_tables t ON l.relation = t.relid
business_data-> WHERE t.schemaname <> 'pg_toast'::name AND t.schemaname <> 'pg_catalog'::name
business_data-> ORDER BY t.schemaname, t.relname;
CREATE VIEW
business_data=> SELECT * FROM active_locks;
schemaname | relname | locktype | page | virtualtransaction | pid | mode …Run Code Online (Sandbox Code Playgroud) 可能之前问过,但找不到。
我写了很多声明的形式:
if (bar.getFoo() != null) {
this.foo = bar.getFoo();
}
Run Code Online (Sandbox Code Playgroud)
我想到了三元运算符,但在我看来,这并没有让它变得更好:
this.foo = bar.getFoo() != null ? bar.getFoo() : this.foo;
Run Code Online (Sandbox Code Playgroud)
我的主要问题是在这两种情况下我都必须编写 bar.getFoo() 两次。当然我可以写一个辅助方法来解决这个问题,但我想知道是否有更优雅的解决方案。
不同于:避免 != null 语句,因为该问题不涉及将检查为 null 的值分配给值。
java ×5
c# ×2
.net ×1
amazon-rds ×1
catalina.out ×1
email ×1
enums ×1
generics ×1
grep ×1
jackson ×1
jakarta-mail ×1
java-time ×1
json ×1
kerberos ×1
oop ×1
postgresql ×1
spnego ×1
string ×1
xml ×1
xmldocument ×1