我在bash(3.00)shell脚本中对变量进行了大量测试,如果未设置变量,则会分配一个默认值,例如:
if [ -z "${VARIABLE}" ]; then
FOO='default'
else
FOO=${VARIABLE}
fi
Run Code Online (Sandbox Code Playgroud)
我似乎记得在一行中有一些语法,类似于三元运算符,例如:
FOO=${ ${VARIABLE} : 'default' }
Run Code Online (Sandbox Code Playgroud)
(虽然我知道这不起作用......)
我疯了,还是有类似的东西存在?
我想将此/bin/sh语法转换为广泛兼容的Windows批处理脚本:
host=`hostname`
echo ${host}
Run Code Online (Sandbox Code Playgroud)
如何做到这一点,以便它可以在任何Windows Vista,Windows XP和Windows 2000机器上运行?
澄清:我想继续在程序中使用存储在变量中的主机名host.换句话说,该程序的更大目标不是简单地回显主机名.
我正在使用完全基于双精度的应用程序,并且在一个将字符串解析为double的实用程序方法中遇到问题.我找到了一个修复,使用BigDecimal进行转换解决了这个问题,但是当我将BigDecimal转换回double时又引发了另一个问题:我失去了几个精度.例如:
import java.math.BigDecimal;
import java.text.DecimalFormat;
public class test {
public static void main(String [] args){
String num = "299792.457999999984";
BigDecimal val = new BigDecimal(num);
System.out.println("big decimal: " + val.toString());
DecimalFormat nf = new DecimalFormat("#.0000000000");
System.out.println("double: "+val.doubleValue());
System.out.println("double formatted: "+nf.format(val.doubleValue()));
}
}
Run Code Online (Sandbox Code Playgroud)
这会产生以下输出:
$ java test
big decimal: 299792.457999999984
double: 299792.458
double formatted: 299792.4580000000
Run Code Online (Sandbox Code Playgroud)
格式化的double表明它在第三位之后失去了精度(应用程序需要较低的精度位置).
如何让BigDecimal保留那些额外的精度位置?
谢谢!
追上这篇文章后更新.有人提到这超出了双数据类型的精度.除非我错误地阅读此引用:http: //java.sun.com/docs/books/jls/third_edition/html/typesValues.html#4.2.3 然后double原语的最大指数值为E max = 2 K-1 -1,标准实现K = 11.那么,最大指数应该是511,不是吗?
将Yahoo JS&CSS库从版本2升级到版本3的迁移路径是什么?
具体来说:CSS和字体,按钮,TabView.
任何有关遇到问题的进一步信息的指示,使其更容易的提示等都将非常感激.
我正在使用2018年版本的Google Photos API上传图像和媒体,如此处所述:“ 上传字节 ”
当我上传新图像或视频时,响应正文中再也没有任何上传令牌。它始终是一个空主体,根据上面的链接,这意味着字节已经上传(但这是新上传)。
这是一个示例请求/响应:
request:
POST https://photoslibrary.googleapis.com/v1/uploads
request headers:
authorization: Bearer abcd1234
X-Goog-Upload-Protocol: raw
X-Goog-Upload-File-Name: 20140317T082917_001.jpg
content-type: application/octet-stream
content-length: 1292868
accept: application/json
-----------------------------------------------------
response: OK [200]
response headers:
Alt-Svc: [quic=":443"; ma=2592000; v="44,43,39,35"]
Server: [UploadServer]
X-GUploader-UploadID: [AEnB2UqT6y8KyZNCPyAaFeCj7I_ABIlwLJQMpltYzQ7D8blW4v3uKSlMT7dbNjFV0i_7ApzoR-i26ZtZ9kHkB7bI8n8ojgOnNA]
Content-Length: [510]
Date: [Sun, 05 Aug 2018 11:19:15 GMT]
Content-Type: [text/plain]
response body:
null
Run Code Online (Sandbox Code Playgroud)
我也尝试过使用X-GUploader-UploadID标头中返回的值,但这会导致500错误。
有人可以提供如何将字节上传到Google Photos API的有效示例吗?
谢谢!
很明显,在使用货币金额时,不应该使用浮动精度,因为精确度的变化会导致在使用该金额进行计算时出现不准确.
那说,什么是可接受的用例?而且,在决定时应该考虑的一般原则是什么?
我有一个传统的PSVM应用程序,我想将其日志记录输出重定向到每次执行的唯一文件.所以,如果我在10:00调用它,那么让它将它的输出重定向到{thread-id} -10:00.log; 另一个执行线程可以在10:01开始执行,其输出将转到{thread-id} -10:01.log.我明白这不优雅.
我的问题是:
谢谢!
我有一个使用maven-android插件的android项目设置.此插件遵循maven输出文件夹以获取文件的位置R.java(即target/generated-sources/r).
但是,在Eclipse中使用此项目时,我无法配置aapt依赖该文件夹.
即使我手动进入项目属性并手动设置文件夹,ADT插件也会进入并重置一些设置(即将/gen文件夹添加回源文件夹,并将输出文件夹还原/bin/classes为/target/classes),而离开maven /target/generated-sources/r文件夹并打破项目的构建.
我想在Eclipse ADT中使用默认的Maven文件夹结构.有关如何做到这一点的任何想法?
谢谢
回应评论:
/gen,因此如果target/generated-sources/r由于重复的类定义而仍然存在R.java ,则Eclipse无法编译.是否可以将 Spring 验证框架与 Spring MVC 一起使用来验证 HTTP 请求标头的存在和值?
我有以下内容build.gradle:
task wrapper(type: Wrapper) {
gradleVersion = '2.0'
}
apply plugin: 'java'
task filter(type: Copy) {
def subdir = new File(project.buildDir, "subdir")
println("subdir: "+subdir)
if( !subdir.exists() ) {
println("creating subdir")
if(subdir.mkdirs()) {
println("succeeded in making folder")
if(subdir.exists()) {
println("folder exists")
} else {
println("folder does not exist")
}
} else {
println("failed to make folder")
}
} else {
println("folder exists already")
}
}
Run Code Online (Sandbox Code Playgroud)
使用gradle wrapperI 下载包装器后,运行:
/tmp/test $ ./gradlew clean filter
subdir: /tmp/test/build/subdir
creating subdir …Run Code Online (Sandbox Code Playgroud) 我们有一个应用程序,其中,说的一部分,它需要一个时间来阅读20%巨大超出内存限制数据量.虽然我们可以增加内存限制,但我们不愿意这样做,因为它需要在大多数情况下都没有必要时进行高分配.
当我们达到这样的峰值负载时,我们正在考虑使用自定义的java.util.List实现来假脱机到磁盘,但在较轻的情况下将保留在内存中.
数据一次加载到集合中,随后迭代并处理,然后丢弃.它不需要在集合中进行排序.
有没有人对这种方法有利弊?
是否有一个开源产品提供这样的List impl?
谢谢!
更新:
java ×7
shell ×2
algorithm ×1
android ×1
bash ×1
batch-file ×1
bigdecimal ×1
collections ×1
double ×1
gradle ×1
http ×1
http-headers ×1
https ×1
javascript ×1
jvm ×1
list ×1
log4j ×1
m2eclipse ×1
math ×1
maven ×1
memory ×1
precision ×1
scripting ×1
spring ×1
spring-mvc ×1
validation ×1
windows ×1
yui ×1
yui3 ×1