我想使用包含每个项目值的地图对列表进行排序.
Map<Integer, Float> map = new HashMap<>();
List<Integer> list = new ArrayList<>();
map.put(0, 0.0f);
map.put(1, 5.0f);
map.put(2, 2.0f);
list = new ArrayList<>(map.keySet());
Collections.sort(list, new Comparator<Integer>() {
public int compare(Integer left, Integer right) {
Float leftCost = map.get(left);
Float rightCost = map.get(right);
return leftCost.compareTo(rightCost);
}
})
Run Code Online (Sandbox Code Playgroud)
我希望订单是0,2,1因为价值1高于2.但是java不要让我这样做.我收到以下错误:Cannot refer to a non-final variable map inside an inner class defined in a different method
我怎么能这样做呢?
我有一个类,其中有一个模板用于其他目的:
template<class t>
class MyClass {
public: //of course public...
t foo;
std::string text;
}
Run Code Online (Sandbox Code Playgroud)
我有另一个类,该方法通过参数获取所有类的这些类,并希望将指针存储在数组中.该类不希望仅访问类的特定(临时)部分的公共属性/方法.
class Container {
public: //of course public...
MyClass* array; //this is allocated with some magic.
void bar(MyClass& m) {
and want to store the class in a MyClass* array.
}
}
Run Code Online (Sandbox Code Playgroud)
这是模板的参数列表缺失的错误
我怎么能解决这个问题?
我用的是什么:
Java的:
public String sha1(String s) {
try {
// Create MD5 Hash
MessageDigest digest = java.security.MessageDigest.getInstance("SHA-1");
digest.update(s.getBytes());
byte messageDigest[] = digest.digest();
// Create Hex String
StringBuffer hexString = new StringBuffer();
for (int i = 0; i < messageDigest.length; i++)
hexString.append(Integer.toHexString(0xFF & messageDigest[i]));
return hexString.toString();
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
}
return "";
}
Run Code Online (Sandbox Code Playgroud)
结果:
java: System.out.println(sha1("foobar123dsadn23u1wdqqwdyxdasd"));
php: echo sha1('foobar123dsadn23u1wdqqwdyxdasd');
php: d8033103e9aaf67af13a4b45534b2d0f6d8dfded
java: d83313e9aaf67af13a4b45534b2df6d8dfded
Run Code Online (Sandbox Code Playgroud)
为什么两个哈希不一样?
我想以几种方式改进css语法,例如:
link-color1 = #fffwidth:500-3-2 这看起来很愚蠢,但有变量:width: container - inner - 3px;#foo{background:#ddd;color:#eee;} #bar {@extend: #foo;color:#fff;}-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;取代border-radius:3px;这些只是我的想法的例子,但图书馆可以是不同的
我正在寻找一个解析一个sytax类似于css的文件的php库,并生成一个有效的css文档.
这很重要,我不想将php sytax插入到我的css文件中,因为:
#foo {color:<?php echo $color1; ?>;}SASS是离线工作的非常好的解决方案,但我仍然在寻找PHP解决方案,因为:
这是我写的一个例子:
php解析器 at/css/index.php
用法:
@color1: #1a1a1a;
@color2: #444444;
div#container {background:@color1;}
div#inner {background:@color2;}
Run Code Online (Sandbox Code Playgroud)
HTML链接:
<link rel="stylesheet" type="text/css" href="/css/?main.css" />
这仅适用于颜色.我需要一个解析器来列出所选的选项.
可能重复:
如何创建函数并传入可变长度参数列表?
我想调用console.log带有变量的参数列表
console.log("a","b")
console.log("a","b","c")
Run Code Online (Sandbox Code Playgroud)
但我从数组中获取参数:
var arr = ["a","b","c"];
Run Code Online (Sandbox Code Playgroud)
我想传递单个变量而不是完整的数组.所以console.log(arr)不是我想要的,console.log(arr[0],arr[1],arr[2])也是坏的,因为我不知道阵列长度ofc.
我怎样才能做到这一点?
这console.log只是一个例子,我会在不同的问题中使用它
UPDATE
如何创建函数并传入可变长度参数列表? 不好.因为根据答案
function dump(a,b) {
console.log("a:"+a,"b:"+b);
}
var asd = [1,2,3]
dump.call(this,asd)
Run Code Online (Sandbox Code Playgroud)
应该给出一个输出:a:1,b:2而不是a:[1,2,3] b:undefined
更新:
也许我的问题不够明确,抱歉.
console.log只是变量参数调用的一个例子
我想对不同的问题使用相同的方法
看看这个例子:
function Sum() {
var temp = 0;
for(var i=0;i<arguments.length;++i) {
temp+= arguments[i];
}
return temp;
}
Run Code Online (Sandbox Code Playgroud)
我想用数组中的不同参数调用.
var test1 = [1,2,3];
var test2 = [4,5,6];
var a = Sum.call(this,test1) //this gives an …Run Code Online (Sandbox Code Playgroud) 我有一个javascript对象 var flower_1; var flower_2;
我的问题是我是否有另一个变量,例如String var Name;
比如说: Name = "flower_1";
如何将Name变量更改为对象"flower_1"