我有以下代码:
new Thread(() -> {
//do things
}).start();
new Thread(() -> {
//do same things
}).start();
Run Code Online (Sandbox Code Playgroud)
我知道我可以声明一个包含lambda的函数:
Function<Integer, Integer> add = x -> x + 1;
Run Code Online (Sandbox Code Playgroud)
我想使此函数保留Runnablefrom的实现new Thread。
但我不知道该怎么放之间<>的Function。
我正在使用LocalDateTime.now()获取系统的日期和时间,但时间已经过去了一个小时。
如果系统有 14:52,则now()返回 13:52。
系统操作系统为Windows 10。
我有这样的客户:
OkHttpClient okHttpClient = new OkHttpClient.Builder()
.pingInterval(Duration.ofMinutes(3))
.readTimeout(Duration.ofMillis(0))
.build();
Run Code Online (Sandbox Code Playgroud)
这个方法用于启动和停止:
private WebSocket webSocket = null;
private MyListener wsListener = null;
private void start(){
if(webSocket != null){ return; }
wsListener = new MyListener();
Request request = new Request.Builder()
.url("wss://stream.binance.com:9443/ws")
.build();
webSocketBinance = okHttpClient.newWebSocket(request, wsListener); //here triggers error
}
private void stop(){
if(webSocket == null){ return; }
webSocket.close(1000, "{\"reason\": \"With love\"}");
webSocket= null;
okHttpClient.dispatcher().executorService().shutdown();
okHttpClient.connectionPool().evictAll();
wsListener = null;
}
Run Code Online (Sandbox Code Playgroud)
有时我想像这样重新启动连接:
start();
Thread.sleep(10_000);
//restart connection
stop();
start(); //here triggers the error
Run Code Online (Sandbox Code Playgroud)
但在start() …
我有自己的 java 库创建为 Maven 项目,并在 pom.xml 中包含一些依赖项
我想将项目导出为 jar 并将其包含到其他 Maven 项目中。
问题是我需要将库的 pom.xml 中的所有依赖项复制到 Maven 项目中,在该项目中导入我的库以使其正常工作。
如何导出我的库而不需要复制我的库的依赖项。
我有这个代码:
String date = "2019-04-22T00:00:00+02:00";
OffsetDateTime odt = OffsetDateTime
.parse(date, DateTimeFormatter.ISO_OFFSET_DATE_TIME)
.withOffsetSameInstant(ZoneOffset.of("+00:00"));
System.out.println(odt);
Run Code Online (Sandbox Code Playgroud)
这个打印: 2019-04-21T22:00Z
如何打印2019-04-21T22:00+00:00?用 offset 代替Z.
我有一个使用 CodeIgniter 4 的项目。
我有一个before过滤器:
public function before(RequestInterface $request){
$auth = $request->getHeader("Authorization");
if($auth == null){
$response = Services::response();
$response->setStatusCode(401);
$response->setHeader("WWW-Authenticate", "Bearer Token");
$response->setBody("{\"error\": \"unauthorized\"}");
exit;
}
}
Run Code Online (Sandbox Code Playgroud)
如果没有授权,我想停止请求并返回$response给客户端。
现在请求已停止,因为exit.
但作为答案我得到了200 OK并且没有body content。
我如何发出exit请求并将其设置$response给客户端?
我有这个ste.getClassName()返回String像这样的pack.age.Foo。
ste是StackTraceElement。
我怎样才能得到Foo?或者唯一的方法是执行Foo从该字符串中提取的方法?
我正在使用JFreeChart并且我想ToolTip通过创建我自己的Class扩展ChartPanel和覆盖来自定义createToolTip()。
static private class PrivateChartPanel extends ChartPanel{
//constructors
@Override
public JToolTip createToolTip() {
JToolTip jtt = super.createToolTip();
jtt.setBackground(Color.WHITE);
jtt.setBorder(BorderFactory.createLineBorder(Color.BLACK, 1, true));
return jtt;
}
}
Run Code Online (Sandbox Code Playgroud)
问题出在Border。它不是在所有角落都是圆形的。
为什么它不是在所有角落都圆润的,我是怎么做到的?
PS:我新建了一个简单的项目
import java.awt.Color;
import javax.swing.BorderFactory;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class HelloWorld {
public static void main(String[] args) {
JFrame a = new JFrame();
a.setBounds(100, 100, 100, 100);
a.setLayout(null);
JPanel b = new JPanel();
b.setBounds(5, 5, 50, 50);
b.setBorder(BorderFactory.createLineBorder(Color.BLACK, 1, true)); …Run Code Online (Sandbox Code Playgroud) 我有这个json:
{
"text":[
{"a":1},
{"b":2}
]
}
Run Code Online (Sandbox Code Playgroud)
我有这个代码:
JsonNode jsonNode = (new ObjectMapper()).readTree(jsonString);
//get first element from "text"
//this is just an explanation of what i want
String aValue = jsonNode.get("text")[0]
.get("a")
.asText();
Run Code Online (Sandbox Code Playgroud)
我怎么能做到这一点,而不将其映射到一个对象?
或者做一些像JsonNode[] array并array[0]代表a和array[1]代表的事情b
我有以下代码:
public static void main(String[] ar){ launch(ar); }
@Override
public void start(Stage primaryStage){
TableView<Foo> tableView = new TableView<>();
tableView.setColumnResizePolicy(TableView.UNCONSTRAINED_RESIZE_POLICY);
tableView.setPlaceholder(new Label("No data"));
tableView.setEditable(true);
TableColumn<Foo, String> colText = new TableColumn<>("Text");
colText.setCellValueFactory(new PropertyValueFactory<>("text"));
tableView.getColumns().add(colText);
List<Foo> listFoo = new ArrayList<>(Arrays.asList(new Foo("1"), new Foo("2"), new Foo("3")));
tableView.setItems(FXCollections.observableArrayList(listFoo));
primaryStage.setScene(new Scene(tableView));
primaryStage.show();
}
public class Foo{
private String text;
public Foo(String txt){ text = txt; }
public String getText(){ return text; }
public void setText(String text){ this.text = text; }
}
Run Code Online (Sandbox Code Playgroud)
我尝试使表格的单元格可编辑:tableView.setEditable(true);,但是不起作用。
如何使表格的单元格可编辑或具有将值从单元格复制到剪贴板的可能性。