我有一个字符串,例如:
[01:07]bbbbbbb[00:48]aaaaaa[01:36]ccccccccc[03:45]gggggggg[03:31]fffffff[01:54]ddddddddd[02:09]eeeeeee[03:59]hhhhhhhh
Run Code Online (Sandbox Code Playgroud)
这需要排序为
[00:48]aaaaaa[01:07]bbbbbbb[01:36]ccccccccc[01:54]ddddddddd[02:09]eeeeeee[03:31]fffffff[03:45]gggggggg[03:59]hhhhhhhh
Run Code Online (Sandbox Code Playgroud)
它基于方括号内的字符串.
我怎么能在java中这样做?
我有一个字符串2017-07-31T01:01:00-07:00,我试图解析它到目前为止和CST时区.当我使用Date和Java 8 ZonedDateTime解析此字符串时,我得到了不同的结果.我不知道为什么会发生这种情况以及我做错了什么.
String dateStr = "2017-07-31T01:01:00-07:00";
LocalDateTime time = null;
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss-hh");
String[] dateArray = dateStr.split("-");
String[] timeZones = TimeZone
.getAvailableIDs(TimeZone.getTimeZone("GMT-" + dateArray[dateArray.length - 1]).getRawOffset());
format.setTimeZone(TimeZone.getTimeZone(timeZones[0]));
Date dateObj = null;
try {
dateObj = format.parse(dateStr);
} catch (ParseException e) {
e.printStackTrace();
}
time = dateObj.toInstant().atZone(TimeZone.getTimeZone("CST").toZoneId()).toLocalDateTime();
ZonedDateTime time2 = ZonedDateTime.parse(dateStr).toInstant().atZone(TimeZone.getTimeZone("CST").toZoneId());
System.out.println(time);
System.out.println(time2.toLocalDateTime());
Run Code Online (Sandbox Code Playgroud) 我正在研究一个从Azure服务总线读取消息的应用程序。该应用程序是使用Spring Boot,Spring jms和Qpid jms客户端创建的。我能够从Queue正确读取消息,而没有任何问题。PFB我用来阅读消息的代码。
@Service
public class QueueReceiver {
@JmsListener(destination = "testing")
public void onMessage(String message) {
if (null != message) {
System.out.println("Received message from Queue: " + message);
}
}}
Run Code Online (Sandbox Code Playgroud)
问题是,对于不同的环境,我们有不同的目的地,例如testingfor dev,testing-qafor qa和testing-prodfor production,所有这些值都分别azure.queueName在不同的application-(ENV).properpties中提供。我想将这些目标动态传递给JmsListener注释中的目标。当我尝试使用
@Value("${azure.queueName}")
private String dest;
Run Code Online (Sandbox Code Playgroud)
并将dest传递给注释 @JmsListener(destination = dest)
我收到The value for annotation attribute JmsListener.destination must be a constant expression错误消息。仔细检查了此错误后,我发现我们无法将动态值传递给注释。请帮助我如何解决此问题或任何其他解决方案。