我有一个静态HashMap<字符串,整数>与用户' UUID和ID。 它是UserBean的静态变量。保存数据库命中以解决此问题。
由于某些原因,仅在这种情况下,我无法获得相应UUID(密钥)的ID(值) 一切正常,如果不是String变量,我会对其值进行硬编码。
我在其他地方使用了相同的静态HashMap,没有任何问题。唯一的区别是这是一个RESTful服务,但我不认为这是问题的原因。我是一个单人乐队,所以我不得不问这里。花了很多年的时间,这里肯定有一个非常明显的错误,但我仍然没有线索。
@Path ( "/ScanOpenRequests" )
public class ScanOpenRequests
{
@POST
@Produces({"text/xml"})
public Response scanOpenRequest ( @FormParam ( "openSessionId" ) String openSessionId )
{
System.out.println ( "user UUID = >" + openSessionId + "<" );
System.out.println ( "user ID = " + UserBean.getOpenSessionIdAndUserIdMap().get ( "61d403dd326c4e2eac223a204ead828d" ) );
System.out.println ( "user ID = " + UserBean.getOpenSessionIdAndUserIdMap().get ( openSessionId ) );
UserBean user = new UserBean();
user.setId ( UserBean.getOpenSessionIdAndUserIdMap().get ( "61d403dd326c4e2eac223a204ead828d" ) );
new UserBL().getOpenLessonRequestsUserCanHelpWith ( user );
return Response.status ( 200 ).entity ( "" ).build ();
}
打印输出是这样的:
user UUID = >"61d403dd326c4e2eac223a204ead828d"<
user ID = 749
user ID = null
有人能发现我做错了吗?
答案 0 :(得分:3)
openSessionId
的值为"61d403dd326c4e2eac223a204ead828d"
(包括引号),与硬编码值61d403dd326c4e2eac223a204ead828d
不同。