Java中有一个问题是我兄弟:
通过隐式转换原始数据类型,您可能会丢失精度并获得不正确的结果.
A,B,False
答案的关键是答:是的
我认为既不会失去精确度也不会得到不正确的结果.我知道显式转换可能会失去精度并得到不正确的结果,但不是隐式转换.
例如:
int i = 9;
short s = 3;
i = s; // implicit conversion, neither loose
//precision nor incorrect results
s = i; // compile error, do we call this implicit conversion?
//if yes, then the answer to question 3 is True,
//but I don't think this is an implicit conversion,
//so I think answer is false.
Run Code Online (Sandbox Code Playgroud)
作为注释中的州:
隐式类型转换:程序员不会尝试转换类型,而是在某些情况下系统会自动转换类型.
有人可以建议吗?
非常感谢.
我知道javascript中有很多陷阱,但我仍然不明白表达式a&1和(a&1)之间有什么区别?
以下代码尝试将隐藏11(10个基数)转换为字符串1101(2个基数)
<script>
var str = '';
var a = 11;
for(var i=0;a;i++){
str = a & 1 + str; // this doesn't work must rewrite as
// str = (a & 1) + str;
console.log('str = ' + str);
a >>>=1;
}
console.log(str);
</script>
Run Code Online (Sandbox Code Playgroud) 假设我有一个 JSON 如下:
{"id":"1.0.0-6",
"version":"1.0.0",
"build":6,
"tag":"android-v1.0.0-6",
"commitHash":"5a78c4665xxxxxxxxxxe1b62c682f84",
"dateCreated":"2020-03-02T08:11:29.912Z"}
Run Code Online (Sandbox Code Playgroud)
我想从 Jenkins Groovy 文件中取出版本 ID,并将版本 ID 传递给名为 XRAY 的 JIRA 插件,以便它将在 JIRA 中创建一个构建版本作为标签。
stage('Get App version') {
steps {
container('devicefarm') {
steps {
sh "LATEST_VERSION=$(curl ${APP_ARTIFACTORY_URL}/${XRAY_PLATFORM}/builds/latest.json | sed \"s/.*$VERSION_KEY\":\"\\([^\"]*\\).*/'\\1'/\")"
}
}
}
}
environment {
AWS_DEFAULT_REGION = 'uk-xxx'
XRAY_ENVIRONMENT = 'e2e'
VERSION_KEY = 'id'
XRAY_PLATFORM = 'Android'
APP_ARTIFACTORY_URL = 'https://artifactory.example.com/mobile'
LATEST_VERSION = ''
}
Run Code Online (Sandbox Code Playgroud)
我有两个问题,curl 命令的结果是否会按预期分配给名为“LATEST_VERSION”的同一 Jenkins 文件中定义的变量?
我可能可以通过在 Jenkins 上运行管道来测试它,但我遇到了另一个问题,阻止我这样做,它抱怨“需要标识符或代码块”。
在 sh 文件中运行相同的内容时,它没有此问题,版本 ID 是按预期从 JSON 检索的。
我正在读这本书,它说:要打破强大的参考周期,你要在块外面声明一个指向self的__weak指针.然后你可以在块内使用这个指针而不是self:
__weak BNREmployee *weakSelf = self; // a weak reference
myBlock = ^{
NSLog(@"Employee: %@", weakSelf);
};
Run Code Online (Sandbox Code Playgroud)
块对BNREmployee实例的引用现在是一个弱引用,并且强引用周期被打破.但是,因为引用很弱,所以在执行块时可以释放自指向的对象.您可以通过在块内创建对self的强大本地引用来消除此风险:
__weak BNREmployee *weakSelf = self; // a weak reference
myBlock = ^{
BNREmployee *innerSelf = weakSelf; // a block-local strong reference
NSLog(@"Employee: %@", innerSelf);
};
Run Code Online (Sandbox Code Playgroud)
为什么我不能简单地做以下事情?
myBlock = ^{
BNREmployee *innerSelf = self; // a block-local strong reference
NSLog(@"Employee: %@", innerSelf);
};
Run Code Online (Sandbox Code Playgroud)
要么
BNREmployee *strongSelf = self;
myBlock = ^{
BNREmployee *innerSelf = strongSelf; // a block-local strong reference
NSLog(@"Employee: %@", innerSelf); …Run Code Online (Sandbox Code Playgroud)