鉴于定义颜色属性的两类具有相同的特异性,我认为元素类属性中列出的最后一个类优先.
来自http://htmlhelp.com/reference/css/structure.html:
规范顺序为了方便起见,当两个规则具有相同的权重时,指定的最后一个规则获胜.
在下面的真空代码示例中,定义类规则集的顺序决定了优先级.这里最后一个或最近的类规则集定义优先.
<style>
.makeBlue {color: blue;}
.makeGreen {color:green;}
</style>
<div>
<p class="makeGreen makeBlue">makeGreen makeBlue</p>
<p class="makeBlue makeGreen">makeBlue makeGreen</p>
</div>
Run Code Online (Sandbox Code Playgroud)
输出文本为绿色.
如果我交换了类声明的顺序,并首先声明.makeGreen
<style>
.makeGreen {color:green;}
.makeBlue {color: blue;}
</style>
<div>
<p class="makeGreen makeBlue">makeGreen makeBlue</p>
<p class="makeBlue makeGreen">makeBlue makeGreen</p>
</div>
Run Code Online (Sandbox Code Playgroud)
输出文本为蓝色.
我以前从未注意过这一点.编辑我认为编辑元素类属性中列出的最后一个类优先.
编辑 澄清 - >我有时会想到一个元素作为宠物,让我们说一只狗.我看到在元素的class属性中添加一个类作为发出dog命令.如果我告诉它坐下,然后告诉它躺下,我希望狗躺下.我不认为这只狗会保持坐着,因为我教它如何坐下(最近比)我教它如何躺下.
所以...两个问题.
非常感谢!
给定一个包含逗号分隔列表的字符串,表示专有名词和类别/描述对,使用String.split()与Pattern&Matcher方法查找特定专有名词并提取相关类别/描述对的优缺点是什么? ?
在草垛字符串格式不会改变.它将始终包含PROPER_NOUN | CATEGORY/DESCRIPTION形式的逗号分隔数据
两种方法的共同变量:
String haystack="EARTH|PLANET/COMFORTABLE,MARS|PLANET/HARDTOBREATHE,PLUTO|DWARF_PLANET/FARAWAY";
String needle="PLUTO";
String result=null;
Run Code Online (Sandbox Code Playgroud)
使用String.split():
for (String current : haystack.split(","))
if (current.contains(needle))
{
result=current.split("\\|")[1]);
break; // *edit* Not part of original code - added in response to comment from Pshemo
{
Run Code Online (Sandbox Code Playgroud)
使用模式和匹配器:
Pattern pattern = pattern.compile("(" +needle+ "\|)(\w+/\w+)");
Matcher matches = pattern.matcher(haystack);
if (matches.find())
result=matches.group(2);
Run Code Online (Sandbox Code Playgroud)
两种方法都提供了我需要的信息.
我想知道是否有任何理由选择一个而不是另一个.我目前没有在我的项目中使用Pattern&Matcher,因此这种方法需要从java.util.regex导入
当然,如果有一种客观的"更好"的方式来解析信息,我将欢迎您的意见.
感谢您的时间!
结论
我选择了Pattern/Matcher方法.虽然使用正则表达式读取有点棘手,但它比.split()/.contains()/.split()更快,而且对我来说更重要的是仅捕获第一个匹配.
对于它的价值,以下是我在100,000次迭代后的不完美基准测试的结果,以纳秒为单位:
.split()/.含有()/.分裂
304212973
模式/匹配器w/Pattern.compile()为每次迭代调用
230511000
模式/匹配器在迭代之前调用Pattern.compile()
111545646
当我颤抖时,它将停止工作.它显示"意外退出"作为错误消息.
github问题链接:https://github.com/flutter/flutter/issues/16108
我正在使用Parrot linux操作系统.
**
**
?[?]?[dracula@parrot]?[~]
???? $flutter doctor
Doctor summary (to see all details, run flutter doctor -v):
[?] Flutter (Channel beta, v0.2.3, on Linux, locale C.UTF-8)
[?] Android toolchain - develop for Android devices (Android SDK 27.0.3)
[?] Android Studio (version 3.1)
[?] IntelliJ IDEA Ultimate Edition (version 2018.1)
[?] Connected devices (1 available)
• No issues found!
Oops; flutter has exited unexpectedly.
Sending crash report to Google.
Failed to send crash report …Run Code Online (Sandbox Code Playgroud) 我找到了一种正确的方法来实现我正在寻找的逻辑,但我很好奇为什么以下不起作用.半小时的搜索没有得到答案,但有可能我没有正确地写出这个问题.
我想要做的是限制类型参数,以便不接受集合.虽然我可以测试参数类型,但我宁愿让IDE指示Class不接受Collection作为类型参数.我知道关键字排除不存在,但我希望它有助于说明手头的问题.
public class Foo<K excludes Collection, V>
{
//TODO: Carry out Collectionist operations
}
Run Code Online (Sandbox Code Playgroud)
有没有办法在Java中这样做?我认为这不是最佳实践,即使有可能,但我想满足我的好奇心,努力扩展我对泛型的理解.
感谢您的时间和考虑!
我正在测试将网络核心应用程序部署到运行 Ubuntu 18.04 和 Nginx 1.14 的 Digitalocean Droplet。为了进行测试,我使用了“dotnet new”中提供的模板。
该 DOTNET新的网络 和 DOTNET新的MVC 应用程式做工精细。我可以从我的浏览器访问它们。我在使用dotnet new webapi应用程序时遇到问题。然而我试图达到它,我最终得到一个 ERR_CONNECTION_REFUSED 响应。
我为设置 Droplet 所做的简短版本:
wget -q https://packages.microsoft.com/config/ubuntu/18.04/packages-microsoft-prod.deb
须藤 dpkg -i 软件包-microsoft-prod.deb
sudo add-apt-repository 宇宙
sudo apt-get install apt-transport-https
sudo apt-get 更新
须藤 apt-get 安装 dotnet-sdk-2.2
sudo apt install nginx sudo ufw 允许'Nginx HTTP'
/etc/nginx/sites-available/default 内容:
server {
listen 80;
location / {
proxy_pass http://127.0.0.1:5000; #also tried localhost:5000
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection keep-alive;
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade; …Run Code Online (Sandbox Code Playgroud)